예제 #1
0
require_once 'go_usersettings.class.php';
//Put in the key and secret for your Foursquare app
//Your values will be different than mine
$consumer_key = Config::getFoursquareConsumerKey();
$consumer_secret = Config::getFoursquareConsumerKeySecret();
$loginurl = "";
//Includes the foursquare-asyc library files
require_once 'foursquare/EpiCurl.php';
require_once 'foursquare/EpiOAuth.php';
require_once 'foursquare/EpiFoursquare.php';
$query = $_GET['query'];
if ($query == "fbauthorize") {
    session_start();
    try {
        $foursquareObj = new EpiFoursquare($consumer_key, $consumer_secret);
        $results = $foursquareObj->getAuthorizeUrl();
        $loginurl = $results['url'] . "?oauth_token=" . $results['oauth_token'];
        $_SESSION['secret'] = $results['oauth_token_secret'];
    } catch (Execption $e) {
        //If there is a problem throw an exception
    }
    header("Location:" . $loginurl);
    exit;
}
$oauth_token = $_GET['oauth_token'];
if (!empty($oauth_token)) {
    session_start();
    $foursquareObj = new EpiFoursquare($consumer_key, $consumer_secret);
    $foursquareObj->setToken($_REQUEST['oauth_token'], $_SESSION['secret']);
    $token = $foursquareObj->getAccessToken();
    $foursquareObj->setToken($token->oauth_token, $token->oauth_token_secret);
예제 #2
0
<h2><a href="javascript:void(0);" onclick="viewSource();">View the source of this file</a></h2>

<div id="source" style="display:none; padding:5px; border: dotted 1px #bbb; background-color:#ddd;">
<?php 
highlight_file(__FILE__);
?>
</div>

<hr>

<?php 
if (!isset($_GET['code']) && !isset($_COOKIE['access_token'])) {
    ?>
<h2>Generate the authorization link</h2>
<?php 
    $authorizeUrl = $fsObjUnAuth->getAuthorizeUrl($redirectUri);
    ?>
<a href="<?php 
    echo $authorizeUrl;
    ?>
"><?php 
    echo $authorizeUrl;
    ?>
</a>

<?php 
} else {
    ?>
<h2>Display your own badges</h2>
<?php 
    if (!isset($_COOKIE['access_token'])) {
 /**
  *
  *
  * @return array
  */
 function foursquare()
 {
     App::import("Vendor", "Users.foursquare/EpiCurl");
     App::import("Vendor", "Users.foursquare/EpiFoursquare");
     $response = array();
     $foursquareObj = new EpiFoursquare(FOURSQUARE_CLIENT_ID, FOURSQUARE_CLIENT_SECRET);
     $redirectUri = Router::url(array('plugin' => 'users', 'controller' => 'users', 'action' => 'login', 'foursquare'), true);
     if (!isset($_GET['code']) && !isset($_SESSION['fs_access_token'])) {
         $url = $foursquareObj->getAuthorizeUrl($redirectUri);
         $response['url'] = $url;
     } else {
         if (!isset($_SESSION['fs_access_token'])) {
             $token = $foursquareObj->getAccessToken($_GET['code'], $redirectUri);
             //setcookie('fs_access_token', $token->access_token);
             $_SESSION['fs_access_token'] = $token->access_token;
         }
         $foursquareObj->setAccessToken($_SESSION['fs_access_token']);
         $foursquareInfo = $foursquareObj->get('/users/self');
         $user_profile = (array) $foursquareInfo->response;
         $fsToken = $_SESSION['fs_access_token'];
     }
     $response['user_profile'] = isset($user_profile) ? $user_profile : '';
     $response['user_profile']['accessToken'] = isset($fsToken) ? $fsToken : '';
     return $response;
 }
예제 #4
0
파일: settings.php 프로젝트: lmcro/fcms
 /**
  * displayEditFoursquare 
  * 
  * @return void
  */
 function displayEditFoursquare()
 {
     $this->displayHeader();
     $config = getFoursquareConfigData();
     $user = getFoursquareUserData($this->fcmsUser->id);
     // Setup url for callbacks
     $callbackUrl = getDomainAndDir();
     $callbackUrl .= 'settings.php?view=foursquare';
     $fsObj = new EpiFoursquare($config['fs_client_id'], $config['fs_client_secret']);
     if (!empty($user['fs_user_id']) && !empty($user['fs_access_token'])) {
         $fsObjAuth = new EpiFoursquare($config['fs_client_id'], $config['fs_client_secret'], $user['fs_access_token']);
         $self = $fsObjAuth->get('/users/self');
         $user = '******' . $self->response->user->id . '">' . $self->response->user->contact->email . '</a>';
         $status = sprintf(T_('Currently connected as: %s'), $user);
         $status .= '<br/><br/><img src="' . $self->response->user->photo->prefix . '80x80' . $self->response->user->photo->suffix . '"/>';
         $link = '<a class="disconnect" href="?revoke=foursquare">' . T_('Disconnect') . '</a>';
     } else {
         $status = '<span class="not_connected">' . T_('Not Connected') . '</span>';
         $link = '<a href="' . $fsObj->getAuthorizeUrl($callbackUrl) . '">' . T_('Connect') . '</a>';
     }
     echo '
     <div class="social-media-connect">
         <img class="icon" src="ui/img/foursquare.png" alt="Foursquare"/>
         <h2>Foursquare</h2>
         <p>' . T_('Connecting with Foursquare will allow you to:') . '</p>
         <ul>
             <li>' . T_('Share your Foursquare check-ins with this site.') . '</li>
         </ul>
         <div class="status">' . $status . '</div>
         <div class="action">' . $link . '</div>
     </div>';
     $this->displayFooter();
 }
예제 #5
0
 /**
  * Manage linked services
  * 
  * @access public
  * @return void
  */
 public function accounts()
 {
     $this->mustBeSignedIn();
     $this->data['page_title'] = 'Linked Accounts';
     $saveUserData = false;
     if ($this->postData) {
         if (!empty($this->postData['gowalla_user']) && !empty($this->postData['gowalla_pass'])) {
             $this->userData['gowalla_user'] = $this->postData['gowalla_user'];
             $this->userData['gowalla_pass'] = $this->postData['gowalla_pass'];
             $saveUserData = true;
         }
     }
     /**
      * foursquare
      */
     //Put in the key and secret for your Foursquare app
     //Your values will be different than mine
     $foursquare_consumer_key = $this->config->item('foursquare_consumer_key');
     $foursquare_consumer_secret = $this->config->item('foursquare_consumer_secret');
     //Includes the foursquare-asyc library files
     require_once APPPATH . 'libraries/foursquare/EpiCurl.php';
     require_once APPPATH . 'libraries/foursquare/EpiOAuth.php';
     require_once APPPATH . 'libraries/foursquare/EpiFoursquare.php';
     $foursquareObj = new EpiFoursquare($foursquare_consumer_key, $foursquare_consumer_secret);
     try {
         $results = $foursquareObj->getAuthorizeUrl();
         $this->data['foursquare_loginurl'] = $results['url'] . "?oauth_token=" . $results['oauth_token'];
     } catch (Execption $e) {
         echo "Error: " . $e;
         //If there is a problem throw an exception
     }
     //echo '$results[\'oauth_token_secret\'] '. $results['oauth_token_secret'].'<br>';
     //echo '$this->userData[\'foursquare_secret\'] '. $this->userData['foursquare_secret'] . '<br>';
     if (empty($this->userData['foursquare_secret']) || empty($this->userData['foursquare_token']) && empty($this->userData['foursquare_token_secret'])) {
         //$_SESSION['secret'] = $results['oauth_token_secret'];
         //echo $_SESSION['secret'] . "<br/>";
         $this->userData['foursquare_secret'] = $results['oauth_token_secret'];
         $saveUserData = true;
         //echo '$results["oauth_token"]: ';var_dump($results['oauth_token']);echo "<br>";
         //$this->setData($this->userData);
         //$this->User->save($this->userData, array('ignoreModelFields'=>true));
         //echo $_SESSION['secret'];
     }
     if (!empty($this->userData['foursquare_token']) && !empty($this->userData['foursquare_token_secret'])) {
         try {
             //Making a call to the API
             $foursquareObj->setToken($this->userData['foursquare_token'], $this->userData['foursquare_token_secret']);
             $foursquareTest = $foursquareObj->get_user();
             //print_r($foursquareTest->response);
             $this->data['foursquare_response'] = $foursquareTest->response;
             // Save foursquare response data
             $this->userData['foursquare_userdata'] = $foursquareTest->response;
             $saveUserData = true;
             //$this->User->save($this->userData, array('ignoreModelFields'=>true));
         } catch (Exception $e) {
             echo "Error: " . $e;
         }
     }
     //$this->userData['update_key'] = $key;
     //$this->cookie->set('update_key', $key);
     //var_dump($this->data);
     // lets finally save that userdata
     if ($saveUserData == true) {
         $this->User->save($this->userData, array('ignoreModelFields' => true));
     }
     $this->data['user'] = $this->userData;
     $this->load->view('users/accounts', $this->data);
 }