function getTweetsByDate($user, $start = 0, $end = 0) { if (empty($user)) { return null; } $token = getTwitterToken(); $headers = array("Authorization: Bearer " . $token); $getTweets = array(); if ($start == 0) { $start = time(); } if ($end == 0) { $end = time(); } $max_id = null; //First get each tweet segment needed do { $params = array("count" => 200, "trim_user" => 1, "exclude_replies" => 1, "include_rts" => 0, "user_id" => $user, "max_id" => $max_id); $url = "https://api.twitter.com/1.1/statuses/user_timeline.json"; $tweets = getAPI($url, $params, $headers); $lastDate = -1; if (isset($tweets->errors)) { $err = json_encode($tweets->errors); DoNotCache("Twitter error: {$err}"); continue; } //Skip twitter calls that result in an error if (isset($tweets->curl_error)) { $err = $tweets->curl_error; DoNotCache("Twitter error: {$err}"); continue; } //Skip for curl errors too $len = count($tweets); $last = $tweets[$len - 1]; $lastDate = strtotime($last->created_at); $max_id = $last->id_str; $getTweets = array_merge($getTweets, $tweets); } while ($lastDate > $start); //Trim the rear foreach (array_reverse($getTweets, TRUE) as $k => $t) { if (strtotime($t->created_at) >= $start) { break; } else { unset($getTweets[$k]); } } //Trim the front foreach ($getTweets as $k => $t) { if (strtotime($t->created_at) <= $end) { break; } else { unset($getTweets[$k]); } } $getTweets = array_values($getTweets); return $getTweets; }
function twitStats($id) { $token = getTwitterToken(); $headers = array("Authorization: Bearer " . $token); $params = array("user_id" => $id); $url = "https://api.twitter.com/1.1/users/show.json"; $info = getAPI($url, $params, $headers); if (isset($info->curl_error)) { return null; } return array("followers" => $info->followers_count); }