function connect() { global $set, $db, $apx; //PHP5 benötigt if (version_compare(phpversion(), '5', '<')) { message($apx->lang->get('MSG_PHP5ONLY')); return; } require BASEDIR . getmodulepath('twitter') . 'epitwitter/class.epicurl.php'; require BASEDIR . getmodulepath('twitter') . 'epitwitter/class.epioauth.php'; require BASEDIR . getmodulepath('twitter') . 'epitwitter/class.epitwitter.php'; $consumer_key = 'nJFE6htU7i5Bf637pvdLBg'; $consumer_secret = '7P4dgrc5OT6Ic0ePE6xz9u69weqNwpBQxkigRJhHk'; if ($_GET['oauth_token'] && $_GET['oauth_verifier']) { $twitterObj = new EpiTwitter($consumer_key, $consumer_secret); $twitterObj->setToken($_GET['oauth_token']); $token = $twitterObj->getAccessToken(array('oauth_verifier' => $_GET['oauth_verifier'])); $db->query("UPDATE " . PRE . "_config SET value='" . addslashes($token->oauth_token) . "' WHERE module='twitter' AND varname='oauth_token' LIMIT 1"); $db->query("UPDATE " . PRE . "_config SET value='" . addslashes($token->oauth_token_secret) . "' WHERE module='twitter' AND varname='oauth_secret' LIMIT 1"); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); $twitterInfo = $twitterObj->get_accountVerify_credentials(); message($apx->lang->get('MSG_DONE', array('ACCOUNT' => $twitterInfo->screen_name)), 'action.php?action=main.mconfig&module=twitter'); } else { $twitterObj = new EpiTwitter($consumer_key, $consumer_secret); $redirect = $twitterObj->getAuthorizeUrl(null, array('oauth_callback' => HTTP_HOST . HTTPDIR . 'admin/action.php?action=twitter.connect')); header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $redirect); } }
public function tweet($text) { $twitterObj = new EpiTwitter("90k7NC2MBrpEDFI2CDTkYQ", "eJ4rguJKlIZCejlCh4c0lDJR7aj4Afq7SBKTvNOmk38"); $twitterObj->setToken($this->tok, $this->sec); $twitterInfo = $twitterObj->get_accountVerify_credentials(); $twitterInfo->response; $status = $twitterObj->post_statusesUpdate(array('status' => $text)); $status->response; }
public function auth() { return false; require_once _base_ . '/lib/lib.preference.php'; $preference = new UserPreferences(getLogUserId()); $pl = Get::gReq('pl', DOTY_STRING); switch ($pl) { case "twitter": /* include_once $GLOBALS['social_config']['twitter_library_path']; echo $GLOBALS['social_config']['twitter_consumer']; $to = new TwitterOAuth($GLOBALS['social_config']['twitter_consumer'], $GLOBALS['social_config']['twitter_secret']); $tok = $to->getRequestToken(); $request_link = $to->getAuthorizeURL($tok); $_SESSION['twit_oauth_request_token'] = $token = $tok['oauth_token']; $_SESSION['twit_oauth_request_token_secret'] = $tok['oauth_token_secret']; header("Location: $request_link"); exit; */ $user_pref = array(); $user_pref['twitter_key'] = $preference->getPreference('social.twitter_key'); $user_pref['twitter_secret'] = $preference->getPreference('social.twitter_secret'); if (empty($user_pref['twitter_key'])) { $twitter = new EpiTwitter($this->conf['twitter_key'], $this->conf['twitter_secret']); $aUrl = $twitter->getAuthenticateUrl(); header("location: " . $aUrl); exit; } else { $twitter = new EpiTwitter($this->conf['twitter_key'], $this->conf['twitter_secret'], $user_pref['twitter_key'], $user_pref['twitter_secret']); // debug: $userInfo = $twitter->get_accountVerify_credentials(); echo "Logged in as: " . $userInfo->screen_name; } break; case "linkedin": $user_pref = array(); $user_pref['linkedin_key'] = $preference->getPreference('social.linkedin_key'); $user_pref['linkedin_secret'] = $preference->getPreference('social.linkedin_secret'); if (empty($user_pref['linkedin_key'])) { $linkedin = new EpiLinkedin($this->conf['linkedin_key'], $this->conf['linkedin_secret']); $aUrl = $linkedin->getAuthenticateUrl(); header("location: " . $aUrl); exit; } else { die("mm"); $linkedin = new EpiLinkedin($this->conf['linkedin_key'], $this->conf['linkedin_secret'], $user_pref['linkedin_key'], $user_pref['linkedin_secret']); // debug: $userInfo = $linkedin->get_accountVerify_credentials(); echo "Logged in as: " . $userInfo->screen_name; } break; } }
public function execute($filterChain) { $forward = false; if ($this->isFirstCall()) { $user = $this->getContext()->getUser(); $request = $this->getContext()->getRequest(); $controller = $this->getContext()->getController(); # If user needs to complete registration, we forward to the required action if ($user->getAttribute('incomplete', false, 'twitter') && !in_array($this->getContext()->getActionName(), array('twitterSignup', 'logout'))) { $controller->forward('user', 'twitterSignup'); $forward = true; } else { if ($user->getAttribute('screen_name', false, 'twitter') && $user->twitterLogin($user->getAttribute('screen_name', null, 'twitter'))) { } else { if (!$user->isAuthenticated()) { if ($request->getParameter('oauth_token')) { $twitter = new EpiTwitter(sfConfig::get('app_twitter_consumer_key'), sfConfig::get('app_twitter_consumer_secret')); $twitter->setToken($request->getParameter('oauth_token')); $token = $twitter->getAccessToken(); $twitter->setToken($token->oauth_token, $token->oauth_token_secret); $twitterInfo = $twitter->get_accountVerify_credentials(); $twitterInfo->response; if ($twitterInfo->id) { // attempt to authenticate, if user is in db if ($user->twitterLogin($twitterInfo->screen_name)) { // clear index cache $cacheManager = sfContext::getInstance()->getViewCacheManager(); $cacheManager->remove('default/index'); $user->setFlash('notice', sprintf('Welcome back %s!', $user->getFirstName())); $controller->redirect('@homepage'); } else { $user->setAttribute('incomplete', true, 'twitter'); $user->setAttribute('screen_name', $twitterInfo->screen_name, 'twitter'); $user->setAttribute('location', $twitterInfo->location, 'twitter'); $user->setAttribute('name', $twitterInfo->name, 'twitter'); $user->setAttribute('profile_image_url', $twitterInfo->profile_image_url, 'twitter'); $user->setAttribute('url', $twitterInfo->url, 'twitter'); $user->setAttribute('bio', $twitterInfo->description, 'twitter'); $controller->forward('user', 'twitterSignup'); } $forward = true; } else { // authentication failed, reset token $user->setAttribute('authorize_url', false, 'twitter'); } } } } } } if (!$forward) { $filterChain->execute(); } }
function twitterCallback() { if ($_SESSION['logged_in']) { header('Location: /'); exit; } global $consumer_key, $consumer_secret, $home; $twitterObj = new EpiTwitter($consumer_key, $consumer_secret); $twitterObj->setToken($_GET['oauth_token']); $token = $twitterObj->getAccessToken(); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); $_SESSION['ot'] = $token->oauth_token; $_SESSION['ots'] = $token->oauth_token_secret; $twitterInfo = $twitterObj->get_accountVerify_credentials(); $twitterInfo->response; $username = $twitterInfo->screen_name; $_SESSION['logged_in'] = $username; // Here you can integrate a database backed login system with stored users and sessions header("Location: {$home}"); exit; }
<?php /* HTML5 Enterprise Application Development * by Nehal Shah & Gabriel Balda * Movie Listings Handler */ include 'lib/EpiCurl.php'; include 'lib/EpiOAuth.php'; include 'lib/EpiTwitter.php'; include 'lib/secret.php'; $result = array('status' => 'ok'); $twitterObj = new EpiTwitter($consumer_key, $consumer_secret); if (isset($_SESSION['oauth_token']) && isset($_SESSION['oauth_token_secret'])) { $twitterObj->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); $twitterInfo = $twitterObj->get_accountVerify_credentials(); if ($_REQUEST['tweet']) { $msg = stripcslashes($_REQUEST['tweet']); $update_status = $twitterObj->post_statusesUpdate(array('status' => $msg)); $temp = $update_status->response; } } else { $result["status"] = "error"; } if ($temp["error"]) { $result["status"] = "error"; } echo json_encode($result); ?>
<?php require_once dirname(dirname(dirname(dirname(dirname(dirname(dirname(__FILE__))))))) . '/wp-load.php'; require_once dirname(__FILE__) . '/EpiCurl.php'; require_once dirname(__FILE__) . '/EpiOAuth.php'; require_once dirname(__FILE__) . '/EpiTwitter.php'; require_once dirname(dirname(__FILE__)) . '/utils.php'; $consumer_key = get_option('PricerrTheme_twitter_consumer_key'); $consumer_secret = get_option('PricerrTheme_twitter_consumer_secret'); $twitter_api = new EpiTwitter($consumer_key, $consumer_secret); $twitter_api->setToken($_GET['oauth_token']); $token = $twitter_api->getAccessToken(); $twitter_api->setToken($token->oauth_token, $token->oauth_token_secret); $user = $twitter_api->get_accountVerify_credentials(); $user->response; $name = $user->screen_name; $screen_name = $user->screen_name; $twitter_id = $user->id; $signature = social_connect_generate_signature_pr($twitter_id); ?> <html> <head> <script> function init() { window.opener.wp_social_connect({'action' : 'social_connect', 'social_connect_provider' : 'twitter', 'social_connect_signature' : '<?php echo $signature; ?> ', 'social_connect_twitter_identity' : '<?php
include 'secret.php'; include "db.php"; $Twitter = new EpiTwitter($consumerKey, $consumerSecret); if (isset($_GET['oauth_token']) || isset($_COOKIE['oauth_token']) && isset($_COOKIE['oauth_token_secret'])) { // user accepted access if (!isset($_COOKIE['oauth_token']) || !isset($_COOKIE['oauth_token_secret'])) { // user comes from twitter $Twitter->setToken($_GET['oauth_token']); $token = $Twitter->getAccessToken(); setcookie('oauth_token', $token->oauth_token); setcookie('oauth_token_secret', $token->oauth_token_secret); $Twitter->setToken($token->oauth_token, $token->oauth_token_secret); } else { // user switched pages and came back or got here directly, stilled logged in $Twitter->setToken($_COOKIE['oauth_token'], $_COOKIE['oauth_token_secret']); $user = $Twitter->get_accountVerify_credentials(); $oauth_token = $_COOKIE['oauth_token']; $oauth_token_secret = $_COOKIE['oauth_token_secret']; // Storing token keys $sql = mysql_query("update {$prefix}users SET oauth_token='{$oauth_token}',oauth_token_secret='{$oauth_token_secret}' where username='******'"); header('Location: abc.php'); //Redirecting Page } } elseif (isset($_GET['denied'])) { // user denied access echo 'You must sign in through twitter first'; } else { // user not logged in echo 'You are not logged in'; } ?>
/** * Login con twitter * */ public function loginTwitter() { if ($_GET['denied']) { //comprovar si el retorno contiene la variable de denegación $this->last_error = "oauth-twitter-access-denied"; return false; } try { $twitterObj = new \EpiTwitter($this->twitter_id, $this->twitter_secret); $twitterObj->setToken($_GET['oauth_token']); $token = $twitterObj->getAccessToken(); //print_R($token); //echo 'twitter_oauth_token: ' . $token->oauth_token . ' / twitter_oauth_token_secret: ' . $token->oauth_token_secret; //guardar los tokens en la base datos si se quieren usar mas adelante! //con los tokens podems acceder a la info del user, hay que recrear el objecto con los tokens privados $twitterObj = new \EpiTwitter($this->twitter_id, $this->twitter_secret, $token->oauth_token, $token->oauth_token_secret); $this->tokens['twitter']['token'] = $token->oauth_token; $this->tokens['twitter']['secret'] = $token->oauth_token_secret; $userInfo = $twitterObj->get_accountVerify_credentials(); //Twitter NO RETORNA el email!!! $this->user_data['username'] = $userInfo->screen_name; $this->user_data['name'] = $userInfo->name; $this->user_data['profile_image_url'] = str_replace("_normal", "", $userInfo->profile_image_url); //twitter link $this->user_data['twitter'] = 'http://twitter.com/' . $userInfo->screen_name; if ($userInfo->url) { $this->user_data['website'] = $userInfo->url; } if ($userInfo->location) { $this->user_data['location'] = $userInfo->location; } if ($userInfo->description) { $this->user_data['about'] = $userInfo->description; } return true; } catch (Exception $e) { $this->last_error = $e->getMessage() . " 1/ " . get_class($e); return false; } return true; }
public function getUserScreenName() { global $wgUser; $screenName = false; $twitterId = $this->getTwitterId(); if (!empty($twitterId)) { $token = $this->getUserToken($twitterId); $secret = $this->getUserSecret($twitterId); try { $twitterObj = new EpiTwitter(WH_TWITTER_TIF_CONSUMER_KEY, WH_TWITTER_TIF_CONSUMER_SECRET, $token, $secret); $twitterInfo = $twitterObj->get_accountVerify_credentials(); $screenName = $twitterInfo->screen_name; } catch (Exception $e) { //errorLog( $e->getMessage(), __LINE__, __FILE__ ); } } return $screenName; }
private function saveUserTwitterToken($oauthVerificationToken) { global $wgUser; try { $twitterObj = new EpiTwitter(WH_TWITTER_TIF_CONSUMER_KEY, WH_TWITTER_TIF_CONSUMER_SECRET); $twitterObj->setToken($oauthVerificationToken); $token = $twitterObj->getAccessToken(); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); $twitterInfo = $twitterObj->get_accountVerify_credentials(); $twitterInfo->response; $twitterUserId = $twitterInfo->response['id_str']; $whUserId = $wgUser->getId(); $this->TwitterAuthModel->saveAccessToken($token->oauth_token, $token->oauth_token_secret, $twitterUserId, $whUserId); $this->generateTwitterCookie($twitterUserId); $userData = array(); $userData['screen_name'] = $twitterInfo->response['screen_name']; $userData['avatar'] = $twitterInfo->response['profile_image_url']; return $userData; } catch (EpiTwitterException $e) { echo $e->getMessage(); echo $e->getLine(); } }
function doLogin($oauthToken) { $twitterObj = new EpiTwitter($this->consumer->key, $this->consumer->secret); $twitterObj->setToken($oauthToken); $token = $twitterObj->getAccessToken(); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); // save to cookies setcookie('oauth_token', $token->oauth_token, 0, '/'); setcookie('oauth_token_secret', $token->oauth_token_secret, 0, '/'); $this->token = $token; //return $this->getCredentials(); return $twitterObj->get_accountVerify_credentials(); }
/** * * * @return array */ function twitter() { App::import("Vendor", "Users.twitter/EpiCurl"); App::import("Vendor", "Users.twitter/EpiOAuth"); App::import("Vendor", "Users.twitter/EpiTwitter"); $twitterObj = new EpiTwitter(TWITTER_APP_ID, TWITTER_SECRET); $response = array(); $response['url'] = $twitterObj->getAuthorizationUrl(); if (isset($_GET['oauth_token'])) { $twitterObj->setToken($_GET['oauth_token']); $token = $twitterObj->getAccessToken(); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); $_SESSION['ot'] = $token->oauth_token; $_SESSION['ots'] = $token->oauth_token_secret; $user_profile = $twitterObj->get_accountVerify_credentials()->response; $twtToken = $token->oauth_token; $twtSecret = $token->oauth_token_secret; } $response['user_profile'] = isset($user_profile) ? $user_profile : ''; $response['user_profile']['accessToken'] = isset($twtToken) ? $twtToken : ''; $response['user_profile']['accessSecret'] = isset($twtSecret) ? $twtSecret : ''; return $response; }
/** * * Associates the twitter account * @param string $token * @param mixed $twitterInfo twitterInfo data, if it exists */ public function associateAccount($token, $twitterInfo = false) { $auth = Zend_Auth::getInstance(); $config = self::$_registry->get('config'); $twitterConf = $config['services']['twitter']; $twitterObj = new EpiTwitter($twitterConf['key'], $twitterConf['secret']); $twitterInfoNamespace = new Zend_Session_Namespace('twitterInfo'); //so next time we want to read it, it fetchs //the information again, just in case anything changed $twitterInfoNamespace->unlock(); if (!$token) { $token = array("oauth_token" => $twitterInfo['oauth_token'], "oauth_token_secret" => $twitterInfo['oauth_token_secret']); } $twitterObj->setToken($token['oauth_token'], $token['oauth_token_secret']); $resp = $twitterObj->get_accountVerify_credentials(); $twitterResponse = json_decode($resp->responseText, true); if (!is_array($twitterResponse) || isset($twitterResponse["error"])) { return false; } //@todo put the max sizes of screen_name and name for twitter somewhere else more appropriate if (!array_key_exists("id", $twitterResponse) || !array_key_exists("name", $twitterResponse) || !array_key_exists("screen_name", $twitterResponse) || mb_strlen($twitterResponse['screen_name']) > 15 || mb_strlen($twitterResponse['name']) > 20) { return false; } if ($twitterInfo && $twitterInfo['id'] == $twitterResponse['id'] && $twitterInfo['screen_name'] == $twitterResponse['screen_name'] && $twitterInfo['name'] == $twitterResponse['name']) { return $twitterInfo; } $this->_dbAdapter->query('INSERT INTO ' . $this->_dbAdapter->quoteTableAs($this->_dbTable->getTableName()) . ' (`id`, `uid`, `oauth_token`, `oauth_token_secret`, `screen_name`, `name`, `timestamp`) VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE id=VALUES(id), oauth_token=VALUES(oauth_token), oauth_token_secret=VALUES(oauth_token_secret), screen_name=VALUES(screen_name), name=VALUES(name), timestamp=VALUES(timestamp)', array($twitterResponse['id'], $auth->getIdentity(), $token['oauth_token'], $token['oauth_token_secret'], $twitterResponse['screen_name'], $twitterResponse['name'], date("Y-m-d H:i:s"))); $twitterInfoNamespace->unlock(); return true; }
function twitteroauth($credentials, $options) { try { $session =& JFactory::getSession(); $mainframe =& JFactory::getApplication(); $db = JFactory::getDBO(); $db->setQuery('select p.apikey, p.secretkey as secret from #__providers p where p.name=' . $db->Quote($credentials['provider'])); $consumer = $db->loadObject(); $twitterObj = new EpiTwitter($consumer->apikey, $consumer->secret); // si no se ha iniciado el proceso de autenticacion $hasbegun = $session->get('twitterhasbegun'); if (!isset($hasbegun) || $hasbegun == 'false') { $session->set('twitterhasbegun', 'true'); $mainframe->redirect($twitterObj->getAuthenticateUrl()); } $session->set('twitterhasbegun', 'false'); $twitterObj->setToken($credentials['oauth_token']); $token = $twitterObj->getAccessToken(); $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret); $data = $twitterObj->get_accountVerify_credentials(); $info = array(); $info[EXTERNAL_ID] = $data->id; $info[STATUS] = Auth_SUCCESS; // todo: solicitar email $info[EMAIL] = ''; $info[LABEL] = $info[EMAIL]; return $info; } catch (EpiOAuthException $ex) { $info = array(); $info[STATUS] = Auth_FAILURE; return $info; } }