Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 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();
     }
 }
Esempio n. 5
0
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;
}
Esempio n. 6
0
<?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);
?>
 
Esempio n. 7
0
<?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 
Esempio n. 8
0
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';
}
?>
Esempio n. 9
0
 /**
  * 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;
 }
Esempio n. 10
0
 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;
 }
Esempio n. 11
0
 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;
 }
Esempio n. 14
0
 /**
  * 
  * 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;
 }
Esempio n. 15
0
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;
    }
}