OSDN Git Service

embrj
[embrj/master.git] / user.php
index 3e9b6cb..3c43ea3 100644 (file)
--- a/user.php
+++ b/user.php
                header('location: error.php');exit();
        }
 
-       $p = 1;
-       if (isset($_GET['p'])) {
-               $p = (int) $_GET['p'];
-               if ($p <= 0) $p = 1;
-       }
-
        $t = getTwitter();
        $userid = $_GET['id'];
+       $since_id = isset($_GET['since_id']) ? $_GET['since_id'] : false;
+       $max_id = isset($_GET['max_id']) ? $_GET['max_id'] : false;
        if (isset($_GET['fav'])) {
-               $statuses = $t->getFavorites($p, $userid);
+               $statuses = $t->getFavorites($userid, $since_id, $max_id);
        } else {
-               $statuses = $t->userTimeline($p, $userid);
+               $statuses = $t->userTimeline($userid, $since_id, $max_id);
        }
        
        if ($statuses === false) {
                header('location: error.php');exit;
        }
+       if ($t->http_code == 429) {
+               $apiout = true;
+       } else {
+               $aptout = false;
+       }
+
        $user = $t->showUser($userid);
        if (strcasecmp($userid,$t->username) == 0) {header('location: profile.php');exit();}
 
@@ -48,7 +50,7 @@
                $userinfo['friends_count'] = $user->friends_count;
                $userinfo['statuses_count'] = $user->statuses_count;
                $userinfo['followers_count'] = $user->followers_count;
-               $userinfo['url'] = $user->url;
+               $userinfo['url'] = $user->entities->url->urls[0]->expanded_url ? $user->entities->url->urls[0]->expanded_url : $user->url;
                $userinfo['description'] = formatText($user->description);
                $userinfo['location'] = $user->location;
                $userinfo['date_joined'] = date('Y-m-d', format_time($user->created_at)); //from dabr
                $empty = count($statuses) == 0? true: false;
                if ($empty) {
                        echo "<div id=\"empty\">No tweet to display.</div>";
+               } else if ($apiout) {
+                       echo "<div id=\"empty\">API quota is used out, please wait for a moment before next refresh.</div>";
                } else {
                        $output = '<ol class="timeline" id="allTimeline">';
+                       $firstid = false;
+                       $lastid = false;
                        foreach ($statuses as $status) {
                                if (isset($status->retweeted_status)) {
                                        $output .= format_retweet($status);
                                } else { 
-                               $output .= format_timeline($status,$t->username);
+                                       $output .= format_timeline($status,$t->username);
                                }
+                               if(!$firstid)
+                                       $firstid = $status->id_str;
+                               $lastid = $status->id_str;
                        }
+                       $lastid = bcsub($lastid, "1");
+
                        $output .= "</ol><div id=\"pagination\">";
                        if ($_GET['fav'] == true) {
-                               if ($p >1) $output .= "<a id=\"more\" class=\"round more\" style=\"float: left;\" href=\"user.php?id=$userid&fav=true&p=" . ($p-1) . "\">Back</a>";
-                               if (!$empty) $output .= "<a id=\"more\" class=\"round more\" style=\"float: right;\" href=\"user.php?id=$userid&fav=true&p=" . ($p+1) . "\">Next</a>";
+                               $output .= "<a id=\"less\" class=\"round more\" style=\"float: left;\" href=\"user.php?id=$userid&fav=true&since_id={$firstid}\">Back</a>";
+                               $output .= "<a id=\"more\" class=\"round more\" style=\"float: right;\" href=\"user.php?id=$userid&fav=true&max_id={$lastid}\">Next</a>";
                        } else {
-                               if ($p >1) $output .= "<a id=\"more\" class=\"round more\" style=\"float: left;\" href=\"user.php?id=$userid&p=" . ($p-1) . "\">Back</a>";
-                               if (!$empty) $output .= "<a id=\"more\" class=\"round more\" style=\"float: right;\" href=\"user.php?id=$userid&p=" . ($p+1) . "\">Next</a>";
+                               $output .= "<a id=\"less\" class=\"round more\" style=\"float: left;\" href=\"user.php?id=$userid&since_id={$firstid}\">Back</a>";
+                               $output .= "<a id=\"more\" class=\"round more\" style=\"float: right;\" href=\"user.php?id=$userid&max_id={$lastid}\">Next</a>";
                        }
                        $output .= "</div>";
                        echo $output;