Пример #1
0
 function noticeAsJson($notice)
 {
     // FIXME: this code should be abstracted to a neutral third
     // party, like Notice::asJson(). I'm not sure of the ethics
     // of refactoring from within a plugin, so I'm just abusing
     // the ApiAction method. Don't do this unless you're me!
     $act = new ApiAction('/dev/null');
     $arr = $act->twitterStatusArray($notice, true);
     $arr['url'] = $notice->bestUrl();
     $arr['html'] = $notice->rendered;
     $arr['source'] = $arr['source'];
     if (!empty($notice->reply_to)) {
         $reply_to = Notice::staticGet('id', $notice->reply_to);
         if (!empty($reply_to)) {
             $arr['in_reply_to_status_url'] = $reply_to->bestUrl();
         }
         $reply_to = null;
     }
     $profile = $notice->getProfile();
     $arr['user']['profile_url'] = $profile->profileurl;
     return $arr;
 }
Пример #2
0
 function noticeAsJson($notice)
 {
     // FIXME: this code should be abstracted to a neutral third
     // party, like Notice::asJson(). I'm not sure of the ethics
     // of refactoring from within a plugin, so I'm just abusing
     // the ApiAction method. Don't do this unless you're me!
     $act = new ApiAction('/dev/null');
     $arr = $act->twitterStatusArray($notice, true);
     $arr['url'] = $notice->bestUrl();
     $arr['html'] = htmlspecialchars($notice->rendered);
     $arr['source'] = htmlspecialchars($arr['source']);
     $arr['conversation_url'] = $this->getConversationUrl($notice);
     $profile = $notice->getProfile();
     $arr['user']['profile_url'] = $profile->profileurl;
     // Add needed repeat data
     if (!empty($notice->repeat_of)) {
         $original = Notice::staticGet('id', $notice->repeat_of);
         if (!empty($original)) {
             $arr['retweeted_status']['url'] = $original->bestUrl();
             $arr['retweeted_status']['html'] = htmlspecialchars($original->rendered);
             $arr['retweeted_status']['source'] = htmlspecialchars($original->source);
             $originalProfile = $original->getProfile();
             $arr['retweeted_status']['user']['profile_url'] = $originalProfile->profileurl;
             $arr['retweeted_status']['conversation_url'] = $this->getConversationUrl($original);
         }
         $original = null;
     }
     return $arr;
 }