* This switch statement performs selective processing * based on the supplied 'action'. **/ switch (@$_REQUEST['action']) { case 'request_token': $_SESSION['ACCESS_TOKEN'] = $dbFuncsObj->getAccessToken('*****@*****.**'); if (isset($_SESSION['ACCESS_TOKEN'])) { $accessToken = unserialize($_SESSION['ACCESS_TOKEN']); //print $accessToken; $httpClient = $accessToken->getHttpClient($consumer->getOauthOptions()); $emailService = new Zend_Gdata_EMail($httpClient); $emailId = $emailService->getEMailFeed(); print $emailId; renderHTML('User logged-in with access token: <br> <a href="' . getRedirectUrl() . '" >Logout </a>', false); } else { $_SESSION['REQUEST_TOKEN'] = serialize($consumer->fetchRequestToken(implode(' ', $SCOPES), $APP_URL . '?action=' . getActionString('access'))); $consumer->authorizeRequestToken(); } break; case 'access_token': if (!isset($_SESSION['ACCESS_TOKEN'])) { $_SESSION['ACCESS_TOKEN'] = serialize($consumer->fetchAccessTokenFromOpenId($_SESSION['REQUEST_TOKEN'])); $dbFuncsObj->setAccessToken($_SESSION['OPENID_EMAIL'], $_SESSION['ACCESS_TOKEN'], true); } if ($dbFuncsObj->validateAccessToken($_SESSION['OPENID_EMAIL'], $_SESSION['ACCESS_TOKEN']) == false) { header('Location: ' . getRedirectUrl()); } else { global $PYTHON_PATH; global $BACKEND_DIR; global $BACKEND_BIN; //Trigger the backend to download emails.
echo $APP_URL; // Scope defines the services to which access is required. $scopes = array('https://mail.google.com/'); // Setup OAuth consumer. Thes values should be replaced with your registered // app's consumer key/secret. $CONSUMER_KEY = 'anonymous'; $CONSUMER_SECRET = 'anonymous'; $consumer = new Gdata_OAuth_Helper($CONSUMER_KEY, $CONSUMER_SECRET); // Main controller logic. switch (@$_REQUEST['action']) { case 'logout': logout($APP_URL); break; case 'request_token': echo 'In Request Token'; $_SESSION['REQUEST_TOKEN'] = serialize($consumer->fetchRequestToken(implode(' ', $scopes), $APP_URL . '?action=authorize_token')); echo $_SERVER['ACCESS_TOKEN']; echo 'Done Request Token'; $consumer->authorizeRequestToken(); break; case 'authorize_token': $consumer->authorizeRequestToken(); break; case 'access_token': $_SESSION['ACCESS_TOKEN'] = serialize($consumer->fetchAccessToken()); header('Location: ' . $APP_URL); break; default: if (isset($_SESSION['ACCESS_TOKEN'])) { $accessToken = unserialize($_SESSION['ACCESS_TOKEN']); $httpClient = $accessToken->getHttpClient($consumer->getOauthOptions());