public function fetchGeoPoints(ParametersInterface $parameters, $geoPoints = array()) { $response = $this->api->get($this->buildSearchUrl(), $this->filterParameters($parameters)); foreach ($response->statuses as $status) { // Majority of tweets do not have geotags, therefore we need to discard most of them if (is_null($status->geo)) { continue; } $geoPoint = new GeoPoint($status->geo->coordinates[0], $status->geo->coordinates[1], $status->text); $geoPoints[] = $geoPoint; $parameters->set('lastId', $status->id); } if (count($geoPoints) < $this->numberOfTweets) { $geoPoints = $this->fetchGeoPoints($parameters, $geoPoints); } return $geoPoints; }
/** * Class constructor * * @return void */ public function __construct() { $consumer_key = Config::get('services.twitter_oauth.consumer_key'); $consumer_secret = Config::get('services.twitter_oauth.consumer_secret'); $oauth_token = Session::get('twitter.oauth_token'); $oauth_token_secret = Session::get('twitter.oauth_token_secret'); return parent::__construct($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret); }
/** * get last user tweets * @param string $consumerKey * @param string $consumerSecret * @param string $oauthToken * @param string $oauthTokenSecret * @param integer $userName * @param integer $count * @param boolean $excludeReplies * @param integer $lastTwitterPostId * @return array of user tweets */ public static function getLastTweets($consumerKey, $consumerSecret, $oauthToken, $oauthTokenSecret, $userName, $count = 2, $excludeReplies = true, $lastTwitterPostId = null) { //get a valid twitter connection of user $connection = new TwitterOAuth($consumerKey, $consumerSecret, $oauthToken, $oauthTokenSecret); $parameters = array('exclude_replies' => $excludeReplies, 'screen_name' => $userName, 'count' => $count); if ($lastTwitterPostId) { $parameters['since_id'] = $lastTwitterPostId; } $data = @$connection->get('statuses/user_timeline', $parameters); //check if connection success with twitter if (200 == $connection->http_code) { //success return $data; } return array(); }