public function logout() { global $USER; $token = google_docs::get_sesskey($USER->id); $gauth = new google_authsub($token); // revoke token from google $gauth->revoke_session_token(); google_docs::delete_sesskey($USER->id); $this->subauthtoken = ''; return parent::logout(); }
public function steal_control($stage) { global $CFG; if ($stage != PORTFOLIO_STAGE_CONFIG) { return false; } $sesskey = google_docs::get_sesskey($this->get('user')->id); if ($sesskey) { try { $gauth = new google_authsub($sesskey); $this->sessiontoken = $sesskey; return false; } catch (Exception $e) { // sesskey is not valid, delete store and re-auth google_docs::delete_sesskey($this->get('user')->id); } } return google_authsub::login_url($CFG->wwwroot . '/portfolio/add.php?postcontrol=1', google_docs::REALM); }