* database is removed and session token is invalidated. */ $_user_location = 'public'; require_once 'includes/classes/googlecalendar.class.php'; define('AT_INCLUDE_PATH', '../../../include/'); require AT_INCLUDE_PATH . 'vitals.inc.php'; $gcalobj = new GoogleCalendar(); if (isset($_GET['logout'])) { //request is for dissociation //removed entry from database $query = "DELETE FROM %scalendar_google_sync WHERE userid=%d"; queryDB($query, array(TABLE_PREFIX, $_SESSION['member_id'])); //invalidate session token $gcalobj->logout(); } else { //request is for association if (!isset($_GET['token'])) { //redirect to login page/consent page $query = "DELETE FROM %scalendar_google_sync WHERE userid=%d"; queryDB($query, array(TABLE_PREFIX, $_SESSION['member_id'])); unset($_SESSION['sessionToken']); $authSubUrl = $gcalobj->getAuthSubUrl(); header('Location:' . $authSubUrl); } else { //insert session token in the database for future use and close pop-up window $client = $gcalobj->getAuthSubHttpClient(); $query = "INSERT INTO %scalendar_google_sync (token,userid,calids) VALUES ('%s', %d,'')"; queryDB($query, array(TABLE_PREFIX, $_SESSION['sessionToken'], $_SESSION['member_id'])); echo '<script>window.opener.location.reload(true);window.close();</script>'; } }