get("mb_user_gui"); $e_id = "twitter_signin"; require_once '../include/dyn_php.php'; $ajaxResponse = new AjaxResponse($_POST); if (!isset($consumerKey) || !isset($consumerSecret)) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage(_mb("Element vars consumerKey and consumerSecret are not set. If you don't have them, get them from Twitter.")); $ajaxResponse->send(); } function isSignedIn ($token = null) { global $Twitter; if (!is_null($token)) { try { $Twitter->setToken($token); $accessToken = $Twitter->getAccessToken(); Mapbender::session()->set("twitter_token", $accessToken->oauth_token); Mapbender::session()->set("twitter_token_secret", $accessToken->oauth_token_secret); } catch (Exception $e) { Mapbender::session()->delete("twitter_token"); Mapbender::session()->delete("twitter_token_secret"); return false; } } if (Mapbender::session()->exists("twitter_token") && Mapbender::session()->exists("twitter_token_secret")) { $Twitter->setToken( Mapbender::session()->get("twitter_token"), Mapbender::session()->get("twitter_token_secret") ); new mb_exception("token: " . Mapbender::session()->get("twitter_token")); new mb_exception("token_secret: " . Mapbender::session()->get("twitter_token_secret")); return true; } return false; } $Twitter = new EpiTwitter($consumerKey, $consumerSecret); switch ($ajaxResponse->getMethod()) { case "isSignedIn" : $token = $ajaxResponse->getParameter("token"); if (isSignedIn($token)) { $ajaxResponse->setResult(array("signedIn" => true)); $ajaxResponse->setMessage(_mb("Signed in.")); $ajaxResponse->send(); } $ajaxResponse->setResult(array("signedIn" => false)); $ajaxResponse->setMessage(_mb("Not signed in.")); $ajaxResponse->setSuccess(true); break; case "signin" : try { $url = $Twitter->getAuthenticateUrl(); } catch (Exception $e) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage(_mb("Could not connect to Twitter.")); $ajaxResponse->send(); } $ajaxResponse->setResult(array("url" => $url)); $ajaxResponse->setSuccess(true); break; case "signout" : Mapbender::session()->delete("twitter_token"); Mapbender::session()->delete("twitter_token_secret"); $ajaxResponse->setResult(array("signedOut" => true)); $ajaxResponse->setMessage(_mb("Signed out.")); $ajaxResponse->setSuccess(true); break; case "update": if (!isSignedIn()) { $ajaxResponse->setResult(array("signedIn" => false)); $ajaxResponse->setMessage(_mb("Not signed in.")); $ajaxResponse->setSuccess(true); $ajaxResponse->send(); } $Twitter = new EpiTwitter($consumerKey, $consumerSecret); $status = $ajaxResponse->getParameter("status"); $lat = $ajaxResponse->getParameter("lat"); $lon = $ajaxResponse->getParameter("lon"); try { $newStatus = $Twitter->post_statusesUpdate(array( 'status' => $text, 'lat' => $lat, 'long' => $long )); } catch (Exception $e) { $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage(_mb("Could not connect to Twitter.")); $ajaxResponse->send(); } $ajaxResponse->setResult(array( "res" => serialize($newStatus) )); $ajaxResponse->setSuccess(true); break; default: $ajaxResponse->setSuccess(false); $ajaxResponse->setMessage(_mb("An unknown error occured.")); break; } $ajaxResponse->send(); ?>