function getAuth($room) { if (file_exists('data/auth/' . $room)) { $authfile = $room; } elseif (file_exists('data/auth/all')) { $authfile = 'all'; } else { return false; } $data = file_get_contents('data/auth/' . $authfile); $json = json_decode($data); if ($json->token->expires < time()) { // token expired, request new LogMe("Room {$room} Token expired, request new"); $token = getNewToken($json->install->oauthId, $json->install->oauthSecret); $token->expires = time() + $token->expires_in; $json->token = $token; LogMe("New Token: " . $json->token->access_token); file_put_contents('data/auth/' . $authfile, json_encode($json)); return $json->token->access_token; } else { // token valid LogMe("Room {$authfile} Token still valid"); return $json->token->access_token; } }
define('SCOPES', implode(' ', array(Google_Service_Gmail::GMAIL_READONLY))); if (isset($_GET['action'])) { $action = $_GET['action']; } else { $action = "none"; } if (isset($_COOKIE['MoodleSession'])) { $userid = getMoodleIdFromSession($_COOKIE['MoodleSession']); //echo "User ID = $userid "; if (isStudent($userid)) { $userToken = getUserToken($userid); if (isset($userToken)) { printUnreadMessages($userToken); } else { if ($action == 'getToken') { getNewToken(); } else { echo "0"; } } } else { echo "null"; } } function printUnreadMessages($userToken) { global $GMAIL; $client = new Google_Client(); $client->setApplicationName(APPLICATION_NAME); $client->setScopes(SCOPES); $client->setAuthConfigFile(CLIENT_SECRET_PATH);