Example #1
0
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;
}
Example #2
0
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);
}