2 function format_retweet($status, $retweetByMe = false){
\r
3 $retweeter = $status->user;
\r
4 $rt_status = $status->retweeted_status;
\r
5 $status_owner = $rt_status->user;
\r
6 $date = formatDate($status->created_at);
\r
7 $text = formatText($rt_status->text);
\r
9 <span class="status_author">'.initShortcutMenu($status_owner).'
\r
10 <a href="user.php?id='.$status_owner->screen_name.'" target="_blank"><img src="'.getAvatar($status_owner->profile_image_url).'" title="'.$status_owner->screen_name.'" /></a>
\r
12 <span class="status_body">
\r
13 <span title="Retweets from people you follow appear in your timeline." class="big-retweet-icon"></span>
\r
14 <span class="status_id">'.$status->id.'</span>
\r
15 <span class="status_word">
\r
16 <a class="user_name" href="user.php?id='.$status_owner->screen_name.'">'.$status_owner->screen_name.'</a><span class="tweet"> '.$text.'</span></span>';
\r
17 $html .= recoverShortens($text);
\r
18 $html .= '<span class="actions">
\r
19 <a class="replie_btn" title="Reply" href="a_reply.php?id='.$rt_status->id.'">Reply</a>
\r
20 <a class="rt_btn" title="Retweet" href="a_rt.php?id='.$rt_status->id.'">Retweet</a>';
\r
21 if($retweetByMe != true){
\r
22 $html .= '<a class="retw_btn" title="New Retweet" href="javascript:void(0);">New Retweet</a>';
\r
24 $html .= '<a class="favor_btn" title="Favorite" href="a_favor.php?id='.$rt_status->id.'">Favorite</a>
\r
25 <a class="trans_btn" title="Translate" href="javascript:void(0);">Translate</a>';
\r
26 if($retweetByMe == true){
\r
27 $html .= '<a class="delete_btn" title="Delete" href="javascript:void(0)"><span class="rt_id" style="display: none;">'.$status->id.'</span></a>';
\r
30 <span class="status_info"><span class="source">Retweeted by <a href="user.php?id='.$retweeter->screen_name.'">'.$retweeter->screen_name.'</a> from '.$status->source.'</span>
\r
31 <span class="date"><a href="status.php?id='.$rt_status->id.'" title="'.date('Y-m-d H:i:s', strtotime($status->created_at)).'" target="_blank">'.$date.'</a></span>
\r
38 function format_retweet_of_me($status){
\r
39 $status_owner = $status->user;
\r
40 $date = formatDate($status->created_at);
\r
41 $text = formatText($status->text);
\r
43 <span class="status_author">
\r
44 <a href="user.php?id='.$status_owner->screen_name.'" target="_blank"><img src="'.getAvatar($status_owner->profile_image_url).'" title="'.$status_owner->screen_name.'" /></a>
\r
46 <span class="status_body">
\r
47 <span title="Retweets from people you follow appear in your timeline." class="big-retweet-icon"></span>
\r
48 <span class="status_id">'.$status->id.'</span>
\r
49 <span class="status_word">
\r
50 <a class="user_name" href="user.php?id='.$status_owner->screen_name.'">'.$status_owner->screen_name.'</a><span class="tweet"> '.$text.'</span></span>';
\r
51 $html .= recoverShortens($text);
\r
52 $html .= '<span class="actions">
\r
53 <a class="replie_btn" title="Reply" href="a_reply.php?id='.$status->id.'">Reply</a>
\r
54 <a class="rt_btn" title="Retweet" href="a_rt.php?id='.$status->id.'">Retweet</a>
\r
55 <a class="favor_btn" title="Favorite" href="a_favor.php?id='.$status->id.'">Favorite</a>
\r
56 <a class="trans_btn" title="Translate" href="javascript:void(0);">Translate</a>
\r
57 <a class="delete_btn" title="Delete" href="a_del.php?id='.$status->id.'&t=s">Delete</a>
\r
59 <span class="status_info">from '.$status->source.'
\r
60 <span class="date"><a href="status.php?id='.$status->id.'" title="'.date('Y-m-d H:i:s', strtotime($status->created_at)).'" target="_blank">'.$date.'</a></span>
\r
67 function getRetweeters($id, $count = 20){
\r
69 $retweeters = $t->getRetweeters($id);
\r
70 $html = '<span class="vcard">';
\r
71 foreach($retweeters as $retweeter){
\r
72 $user = $retweeter->user;
\r
73 $html .= '<a class="url" title="'.$user->name.'" rel="contact" href="../user.php?id='.$user->screen_name.'">
\r
74 <img class="photo fn" width="24" height="24" src="'.getAvatar($user->profile_image_url).'" alt="'.$user->name.'" />
\r
81 // $updateStatus 标识是否为发推, 是则应用指定 css
\r
82 function format_timeline($status, $screen_name, $updateStatus = false){
\r
83 $user = $status->user;
\r
84 $date = formatDate($status->created_at);
\r
85 $text = formatText($status->text);
\r
87 if(preg_match('/^\@'.getTwitter()->username.'/i', $text) == 1){
\r
88 $output = "<li class=\"reply\">";
\r
89 }elseif($updateStatus == true){
\r
90 $output = "<li class=\"mine\">";
\r
95 $output .= "<span class=\"status_author\">".initShortcutMenu($user)."
\r
96 <a href=\"user.php?id=$user->screen_name\" target=\"_blank\"><img src=\"".getAvatar($user->profile_image_url)."\" title=\"$user->screen_name\" /></a>
\r
98 <span class=\"status_body\">
\r
99 <span class=\"status_id\">$status->id </span>
\r
100 <span class=\"status_word\"><a class=\"user_name\" href=\"user.php?id=$user->screen_name\">$user->screen_name</a><span class=\"tweet\"> $text </span></span>";
\r
101 $output .= recoverShortens($text);
\r
102 $output .= "<span class=\"actions\">
\r
103 <a class=\"replie_btn\" title=\"Reply\" href=\"a_reply.php?id=$status->id\">回复</a>
\r
104 <a class=\"rt_btn\" title=\"Retweet\" href=\"a_rt.php?id=$status->id\">回推</a>";
\r
105 if($user->screen_name != $screen_name){
\r
106 $output .= "<a class=\"retw_btn\" title=\"New Retweet\" href=\"javascript:void(0);\">New Retweet</a>";
\r
108 $output .= "<a class=\"favor_btn\" title=\"Favorite\" href=\"a_favor.php?id=$status->id\">Favorite</a>
\r
109 <a class=\"trans_btn\" title=\"Translate\" href=\"javascript:void(0);\">Translate</a>";
\r
110 if ($user->screen_name == $screen_name) $output .= "<a class=\"delete_btn\" title=\"Delete\" href=\"a_del.php?id=$status->id&t=s\">Delete</a>";
\r
111 $output .= "</span><span class=\"status_info\">";
\r
112 if ($status->in_reply_to_status_id) $output .= "<span class=\"in_reply_to\"> <a class=\"ajax_reply\" href=\"ajax/status.php?id=$status->in_reply_to_status_id&uid=$user->id \">in reply to $status->in_reply_to_screen_name</a> </span>";
\r
113 $output .= "<span class=\"source\">from $status->source</span>
\r
114 <span class=\"date\"><a href=\"status.php?id=$status->id\" title=\"".date('Y-m-d H:i:s', strtotime($status->created_at))."\" target=\"_blank\">$date</a></span>
\r
121 /* ---------- Sorting timeline ---------- */
\r
122 function cmp($a, $b)
\r
124 $a_date = strtotime($a->created_at);
\r
125 $b_date = strtotime($b->created_at);
\r
126 if ($a_date == $b_date) {
\r
129 return ($a_date > $b_date) ? -1 : 1;
\r
132 function sort_timeline($timeline, $retweet){
\r
133 $status = array_merge($timeline, $retweet);
\r
134 usort($status, "cmp");
\r
138 /* ---------- Restore shortened urls ---------- */
\r
139 function initShortcutMenu($user = false){
\r
141 if(!$user && !isset($user->screen_name)){
\r
145 $username = getEncryptCookie('twitese_name');
\r
146 if($user->screen_name == $username){
\r
149 $relationship = getRelationship($user->screen_name, $username);
\r
151 $mention = $dm = $unfollow = $follow = $block = $spam = '';
\r
152 $mention = '<li class="rm_mention"><a href="javascript:void(0);"><i></i>Mention <span>'.$user->screen_name.'</a></li>';
\r
153 if($relationship == 1){
\r
154 $dm = '<li class="rm_dm"><a href="javascript:void(0);"><i></i>Direct message <span>'.$user->screen_name.'</span></a></li>';
\r
156 if($relationship == 1 || $relationship == 2){
\r
157 $unfollow = '<li class="rm_unfollow"><a href="javascript:void(0);"><i></i>Unfollow <span>'.$user->screen_name.'</span></a></li>';
\r
159 if($relationship == 3 || $relationship == 4 || $relationship == 9){
\r
160 $follow = '<li class="rm_follow"><a href="javascript:void(0);"><i></i>Follow <span>'.$user->screen_name.'</span></a></li>';
\r
162 if($relationship == 4){
\r
163 $block = '<li class="rm_unblock"><a href="javascript:void(0);"><i></i>Unblock <span>'.$user->screen_name.'</span></a></li>';
\r
165 $block = '<li class="rm_block"><a href="javascript:void(0);"><i></i>Block <span>'.$user->screen_name.'</span></a></li>';
\r
167 $spam = '<li class="rm_spam"><a href="javascript:void(0);"><i></i>Report <span>'.$user->screen_name.'</span> for spam</a></li>';
\r
168 $html = '<ul class="right_menu round">'.$mention.$dm.$unfollow.$follow.$block.$spam.'</ul>';
\r