var $since_id = null;
var $source = null;
var $callback = null;
+ var $format = null;
var $access = self::READ_ONLY; // read (default) or read-write
$twitter_user['created_at'] = $this->dateTwitter($profile->created);
- $twitter_user['favourites_count'] = $profile->faveCount(); // British spelling!
-
$timezone = 'UTC';
if (!empty($user) && $user->timezone) {
$twitter_user['statusnet_profile_url'] = $profile->profileurl;
+ // The event call to handle NoticeSimpleStatusArray lets plugins add data to the output array
+ Event::handle('TwitterUserArray', array($profile, &$twitter_user, $this->scoped, array()));
+
return $twitter_user;
}
if (!empty($notice->repeat_of)) {
$original = Notice::getKV('id', $notice->repeat_of);
- if (!empty($original)) {
- $original_array = $this->twitterSimpleStatusArray($original, $include_user);
- $base['retweeted_status'] = $original_array;
+ if ($original instanceof Notice) {
+ $orig_array = $this->twitterSimpleStatusArray($original, $include_user);
+ $base['retweeted_status'] = $orig_array;
}
}
}
if (!is_null($this->scoped)) {
- $twitter_status['favorited'] = $this->scoped->hasFave($notice);
$twitter_status['repeated'] = $this->scoped->hasRepeated($notice);
} else {
- $twitter_status['favorited'] = false;
$twitter_status['repeated'] = false;
}
$twitter_status['attachments'] = array();
foreach ($attachments as $attachment) {
- $enclosure_o=$attachment->getEnclosure();
- if ($enclosure_o) {
+ try {
+ $enclosure_o = $attachment->getEnclosure();
$enclosure = array();
$enclosure['url'] = $enclosure_o->url;
$enclosure['mimetype'] = $enclosure_o->mimetype;
$enclosure['size'] = $enclosure_o->size;
$twitter_status['attachments'][] = $enclosure;
+ } catch (ServerException $e) {
+ // There was not enough metadata available
}
}
}
$twitter_status['statusnet_html'] = $notice->rendered;
$twitter_status['statusnet_conversation_id'] = intval($notice->conversation);
+ // The event call to handle NoticeSimpleStatusArray lets plugins add data to the output array
+ Event::handle('NoticeSimpleStatusArray', array($notice, &$twitter_status, $this->scoped,
+ array('include_user'=>$include_user)));
+
return $twitter_status;
}
$enclosures = array();
foreach ($attachments as $attachment) {
- $enclosure_o=$attachment->getEnclosure();
- if ($enclosure_o) {
+ try {
+ $enclosure_o = $attachment->getEnclosure();
$enclosure = array();
$enclosure['url'] = $enclosure_o->url;
$enclosure['mimetype'] = $enclosure_o->mimetype;
$enclosure['size'] = $enclosure_o->size;
$enclosures[] = $enclosure;
+ } catch (ServerException $e) {
+ // There was not enough metadata available
}
}
{
$details = array();
+ $source_profile = $source->getProfile();
+ $target_profile = $target->getProfile();
+
$details['screen_name'] = $source->nickname;
- $details['followed_by'] = $target->isSubscribed($source);
- $details['following'] = $source->isSubscribed($target);
+ $details['followed_by'] = $target->isSubscribed($source_profile);
+ $details['following'] = $source->isSubscribed($target_profile);
$notifications = false;
- if ($source->isSubscribed($target)) {
+ if ($source->isSubscribed($target_profile)) {
$sub = Subscription::pkeyGet(array('subscriber' =>
$source->id, 'subscribed' => $target->id));
}
$details['notifications_enabled'] = $notifications;
- $details['blocking'] = $source->hasBlocked($target);
+ $details['blocking'] = $source->hasBlocked($target_profile);
$details['id'] = intval($source->id);
return $details;