/** * Forwards the user to twitter to authenticate * * This includes the login URL as the callback */ function twitter_api_forward() { // sanity check if (!twitter_api_allow_sign_on_with_twitter()) { forward(); } $callback = elgg_normalize_url("twitter_api/login"); $request_link = twitter_api_get_authorize_url($callback); forward($request_link, 'twitter_api'); }
/** * Forwards the user to twitter to authenticate * * This includes the login URL as the callback */ function twitter_api_forward() { global $SESSION; // sanity check if (!twitter_api_allow_sign_on_with_twitter()) { forward(); } $callback = elgg_normalize_url("twitter_api/login"); $request_link = twitter_api_get_authorize_url($callback); // capture metadata about login to persist through redirects $login_metadata = array('persistent' => (bool) get_input("persistent")); // capture referrer if in site, but not the twitter_api if (!empty($SESSION['last_forward_from'])) { $login_metadata['forward'] = $SESSION['last_forward_from']; } elseif (!empty($_SERVER['HTTP_REFERER']) && 0 === strpos($_SERVER['HTTP_REFERER'], elgg_get_site_url()) && 0 !== strpos($_SERVER['HTTP_REFERER'], elgg_get_site_url() . 'twitter_api/')) { $login_metadata['forward'] = $_SERVER['HTTP_REFERER']; } $SESSION['twitter_api_login_metadata'] = $login_metadata; forward($request_link, 'twitter_api'); }
/** * Forwards the user to twitter to authenticate * * This includes the login URL as the callback */ function twitter_api_forward() { // sanity check if (!twitter_api_allow_sign_on_with_twitter()) { forward(); } $callback = elgg_normalize_url("twitter_api/login"); $request_link = twitter_api_get_authorize_url($callback); // capture metadata about login to persist through redirects $login_metadata = array('persistent' => (bool) get_input("persistent")); // capture referrer if in site, but not the twitter_api $session = elgg_get_session(); $server = _elgg_services()->request->server; $ref = $server->get('HTTP_REFERER', ''); if ($session->has('last_forward_from')) { $login_metadata['forward'] = $session->get('last_forward_from'); } elseif (0 === strpos($ref, elgg_get_site_url()) && 0 !== strpos($ref, elgg_get_site_url() . 'twitter_api/')) { $login_metadata['forward'] = $ref; } $session->set('twitter_api_login_metadata', $login_metadata); forward($request_link, 'twitter_api'); }
<?php /** * User settings for Twitter API */ $user = elgg_get_logged_in_user_entity(); $user_guid = $user->getGUID(); $twitter_name = elgg_get_plugin_user_setting('twitter_name', $user_guid, 'twitter_api'); $access_key = elgg_get_plugin_user_setting('access_key', $user_guid, 'twitter_api'); $access_secret = elgg_get_plugin_user_setting('access_secret', $user_guid, 'twitter_api'); $site_name = elgg_get_site_entity()->name; echo '<div>' . elgg_echo('twitter_api:usersettings:description', array($site_name)) . '</div>'; if (!$access_key || !$access_secret) { // send user off to validate account $request_link = twitter_api_get_authorize_url(null, false); echo '<div>' . elgg_echo('twitter_api:usersettings:request', array($request_link, $site_name)) . '</div>'; } else { // if this user logged in through twitter and never set up an email address, don't // let them disassociate their account. if ($user->email) { $url = elgg_get_site_url() . "twitter_api/revoke"; echo '<div>' . elgg_echo('twitter_api:usersettings:authorized', array($site_name, $twitter_name)) . '</div>'; echo '<div>' . sprintf(elgg_echo('twitter_api:usersettings:revoke'), $url) . '</div>'; } else { echo elgg_echo('twitter_api:usersettings:cannot_revoke', array(elgg_normalize_url('twitter_api/interstitial'))); } }
<?php /** * */ $user_id = elgg_get_logged_in_user_guid(); $twitter_name = get_plugin_usersetting('twitter_name', $user_id, 'twitter_api'); $access_key = get_plugin_usersetting('access_key', $user_id, 'twitter_api'); $access_secret = get_plugin_usersetting('access_secret', $user_id, 'twitter_api'); $site_name = elgg_get_site_entity()->name; echo '<div>' . elgg_echo('twitter_api:usersettings:description', array($site_name)) . '</div>'; if (!$access_key || !$access_secret) { // send user off to validate account $request_link = twitter_api_get_authorize_url(); echo '<div>' . elgg_echo('twitter_api:usersettings:request', array($request_link, $site_name)) . '</div>'; } else { $url = elgg_get_site_url() . "twitter_api/revoke"; echo '<div class="twitter_anywhere">' . elgg_echo('twitter_api:usersettings:authorized', array($site_name, $twitter_name)) . '</div>'; echo '<div>' . sprintf(elgg_echo('twitter_api:usersettings:revoke'), $url) . '</div>'; }