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);
<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; }
/** * 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(); }
/** * 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); }