コード例 #1
0
 /** Retrieve tokens (already generated elsewhere)
  * @access private
  * @return object $tokenList
  */
 public function getTokens()
 {
     if (!($tokenList = $this->_cache->load('latestweets'))) {
         $tokens = new OauthTokens();
         $tokenList = $tokens->fetchRow($tokens->select()->where('service = ?', 'twitterAccess'));
         $this->_cache->save($tokenList, 'latestweets');
     }
     return $tokenList;
 }
コード例 #2
0
ファイル: Yahoo.php プロジェクト: rwebley/Beowulf---PAS
 /** Request a token from Yahoo
  * @return string $url The formed url for yahoo oauth request to be redirected to in controller.
  */
 public function request()
 {
     $config = array('version' => '1.0', 'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER, 'signatureMethod' => 'HMAC-SHA1', 'callbackUrl' => self::SITEYAHOOCALLBACK, 'siteUrl' => self::OAUTHYAHOO, 'consumerKey' => $this->_consumerKey, 'consumerSecret' => $this->_consumerSecret);
     $tokens = new OauthTokens();
     $tokenexists = $tokens->fetchRow($tokens->select()->where('service = ?', 'yahooAccess'));
     if (is_null($tokenexists)) {
         $consumer = new Zend_Oauth_Consumer($config);
         $token = $consumer->getRequestToken();
         $session = new Zend_Session_Namespace('yahoo_oauth');
         $session->token = $token->getToken();
         $session->secret = $token->getTokenSecret();
         $urlParams = $token->getResponse()->getBody();
         $url = self::OAUTHYAHOOREQ . $urlParams;
         return $url;
     } else {
         throw new Pas_Yql_Exception('Token exists');
     }
 }
コード例 #3
0
ファイル: Twitter.php プロジェクト: rwebley/Beowulf---PAS
 /** Create the access token and save to database
  * 
  */
 public function access()
 {
     $config = array('callbackUrl' => self::CALLBACKURL, 'siteUrl' => 'http://twitter.com/oauth', 'consumerKey' => $this->_config->webservice->twitter->consumerKey, 'consumerSecret' => $this->_config->webservice->twitter->consumerSecret);
     $consumer = new Zend_Oauth_Consumer($config);
     $tokens = new OauthTokens();
     $token = $tokens->fetchRow($tokens->select()->where('service = ?', 'twitterRequest'));
     // Get access token
     if (!is_null($token)) {
         $accessToken = $consumer->getAccessToken(Zend_Controller_Front::getInstance()->getRequest()->getQuery(), unserialize($token['accessToken']));
         $oauth_token = $accessToken->getToken();
         $tokenRow = $this->createRow();
         $tokenRow->service = 'twitterAccess';
         $tokenRow->created = Zend_Date::now()->toString('YYYY-MM-dd HH:mm:ss');
         $tokenRow->accessToken = serialize($accessToken);
         $tokenRow->save();
         return true;
     } else {
         throw new Pas_Yql_Exception('Invalid access. No token provided.');
     }
 }
コード例 #4
0
ファイル: Flickr.php プロジェクト: rwebley/Beowulf---PAS
 public function getTotalViews($date = NULL)
 {
     $tokens = new OauthTokens();
     $tokenes = $tokens->fetchRow($tokens->select()->where('service = ?', 'flickrAccess'));
     $instance = unserialize($tokenes->accessToken);
     $oauthOptions = array('requestTokenUrl' => 'http://www.flickr.com/services/oauth/request_token', 'accessTokenUrl' => 'http://www.flickr.com/services/oauth/access_token', 'userAuthorisationUrl' => 'http://www.flickr.com/services/oauth/authorize', 'version' => '1.0', 'signatureMethod' => 'HMAC-SHA1', 'consumerKey' => $this->_flickr->apikey, 'consumerSecret' => $this->_flickr->secret);
     $client = $instance->getHttpClient($oauthOptions);
     $client->setMethod(Zend_Http_Client::POST);
     $client->setUri(self::FLICKRURI);
     $client->setParameterPost('method', 'flickr.stats.getTotalViews');
     $client->setParameterPost('format', 'json');
     $client->setParameterPost('nojsoncallback', 1);
     $response = $client->request();
     return json_decode($response->getBody());
 }
コード例 #5
0
ファイル: LatestTweets.php プロジェクト: lesleyauk/findsorguk
 /** Call Twitter service
  *
  * @return array
  */
 private function _callTwitter()
 {
     if (!$this->getCache()->test(md5($this->getKey()))) {
         $tokens = new OauthTokens();
         $token = $tokens->fetchRow($tokens->select()->where('service = ?', 'twitterAccess'));
         $twitter = new Zend_Service_Twitter(array('username' => 'findsorguk', 'accessToken' => unserialize($token->accessToken), 'oauthOptions' => array('consumerKey' => $this->getConfig()->webservice->twitter->consumerKey, 'consumerSecret' => $this->getConfig()->webservice->twitter->consumerSecret)));
         $tweets = $twitter->statusesUserTimeline(array('count' => $this->getCount()))->toValue();
         $this->getCache()->save($tweets);
     } else {
         $tweets = $this->getCache()->load(md5($this->getKey()));
     }
     return $this->buildHtml($tweets);
 }