From a647a4f6b3531d3f8e6003d32403b5f30599e952 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Thu, 12 Mar 2015 22:56:25 +0100 Subject: [PATCH] Moving some more repeat stuff into the Share plugin --- lib/activityhandlerplugin.php | 1 - lib/apiaction.php | 8 +--- lib/noticelistitem.php | 27 ----------- plugins/QnA/QnAPlugin.php | 1 - plugins/Share/SharePlugin.php | 48 +++++++++++++++++++ .../Share/lib}/repeatedbymenoticestream.php | 0 .../Share/lib}/repeatsofmenoticestream.php | 0 7 files changed, 50 insertions(+), 35 deletions(-) rename {lib => plugins/Share/lib}/repeatedbymenoticestream.php (100%) rename {lib => plugins/Share/lib}/repeatsofmenoticestream.php (100%) diff --git a/lib/activityhandlerplugin.php b/lib/activityhandlerplugin.php index 19e4dc27b0..529749cc1d 100644 --- a/lib/activityhandlerplugin.php +++ b/lib/activityhandlerplugin.php @@ -602,7 +602,6 @@ abstract class ActivityHandlerPlugin extends Plugin $nli->showNoticeSource(); $nli->showNoticeLocation(); $nli->showPermalink(); - $nli->showRepeat(); $nli->showNoticeOptions(); } diff --git a/lib/apiaction.php b/lib/apiaction.php index 062e6d0774..0eea08bed6 100755 --- a/lib/apiaction.php +++ b/lib/apiaction.php @@ -303,6 +303,7 @@ class ApiAction extends Action { $base = $this->twitterSimpleStatusArray($notice, $include_user); + // FIXME: MOVE TO SHARE PLUGIN if (!empty($notice->repeat_of)) { $original = Notice::getKV('id', $notice->repeat_of); if ($original instanceof Notice) { @@ -374,12 +375,6 @@ class ApiAction extends Action $twitter_status['geo'] = null; } - if (!is_null($this->scoped)) { - $twitter_status['repeated'] = $this->scoped->hasRepeated($notice); - } else { - $twitter_status['repeated'] = false; - } - // Enclosures $attachments = $notice->attachments(); @@ -646,6 +641,7 @@ class ApiAction extends Action $this->showGeoXML($value); break; case 'retweeted_status': + // FIXME: MOVE TO SHARE PLUGIN $this->showTwitterXmlStatus($value, 'retweeted_status'); break; default: diff --git a/lib/noticelistitem.php b/lib/noticelistitem.php index bb1eb17eb3..f25613b9a9 100644 --- a/lib/noticelistitem.php +++ b/lib/noticelistitem.php @@ -180,7 +180,6 @@ class NoticeListItem extends Widget $this->showNoticeSource(); $this->showNoticeLocation(); $this->showPermalink(); - $this->showRepeat(); Event::handle('EndShowNoticeInfo', array($this)); } } @@ -527,32 +526,6 @@ class NoticeListItem extends Widget } } - /** - * show a link to the author of repeat - * - * @return void - */ - function showRepeat() - { - if (!empty($this->repeat)) { - - $repeater = Profile::getKV('id', $this->repeat->profile_id); - - $attrs = array('href' => $repeater->profileurl, - 'class' => 'h-card p-author', - 'title' => $repeater->getFancyName()); - - $this->out->elementStart('span', 'repeat h-entry'); - - // TRANS: Addition in notice list item if notice was repeated. Followed by a span with a nickname. - $this->out->raw(_('Repeated by').' '); - - $this->out->element('a', $attrs, $repeater->getNickname()); - - $this->out->elementEnd('span'); - } - } - /** * show a link to reply to the current notice * diff --git a/plugins/QnA/QnAPlugin.php b/plugins/QnA/QnAPlugin.php index bdd54afd2e..a476c2af56 100644 --- a/plugins/QnA/QnAPlugin.php +++ b/plugins/QnA/QnAPlugin.php @@ -340,7 +340,6 @@ class QnAPlugin extends MicroAppPlugin $nli->showNoticeSource(); $nli->showNoticeLocation(); $nli->showPermalink(); - $nli->showRepeat(); $nli->showNoticeOptions(); diff --git a/plugins/Share/SharePlugin.php b/plugins/Share/SharePlugin.php index 671214b1d6..69761a5f3d 100644 --- a/plugins/Share/SharePlugin.php +++ b/plugins/Share/SharePlugin.php @@ -190,6 +190,31 @@ class SharePlugin extends ActivityVerbHandlerPlugin // Layout stuff + /** + * show a link to the author of repeat + * + * FIXME: Some repeat stuff still in lib/noticelistitem.php! ($nli->repeat etc.) + */ + public function onEndShowNoticeInfo(NoticeListItem $nli) + { + if (!empty($nli->repeat)) { + $repeater = $nli->repeat->getProfile(); + + $attrs = array('href' => $repeater->getUrl(), + 'class' => 'h-card p-author', + 'title' => $repeater->getFancyName()); + + $nli->out->elementStart('span', 'repeat h-entry'); + + // TRANS: Addition in notice list item if notice was repeated. Followed by a span with a nickname. + $nli->out->raw(_('Repeated by').' '); + + $nli->out->element('a', $attrs, $repeater->getNickname()); + + $nli->out->elementEnd('span'); + } + } + public function onEndShowThreadedNoticeTailItems(NoticeListItem $nli, Notice $notice, &$threadActive) { if ($nli instanceof ThreadedNoticeListSubItem) { @@ -244,6 +269,29 @@ class SharePlugin extends ActivityVerbHandlerPlugin // pass } + // API stuff + + /** + * Typically just used to fill out Twitter-compatible API status data. + * + * FIXME: Make all the calls before this end up with a Notice instead of ArrayWrapper please... + */ + public function onNoticeSimpleStatusArray($notice, array &$status, Profile $scoped=null, array $args=array()) + { + if ($scoped instanceof Profile) { + $status['repeated'] = $scoped->hasRepeated($notice); + } else { + $status['repeated'] = false; + } + } + + public function onTwitterUserArray(Profile $profile, array &$userdata, Profile $scoped=null, array $args=array()) + { + $userdata['favourites_count'] = Fave::countByProfile($profile); + } + + // Command stuff + /** * EndInterpretCommand for RepeatPlugin will handle the 'repeat' command * using the class RepeatCommand. diff --git a/lib/repeatedbymenoticestream.php b/plugins/Share/lib/repeatedbymenoticestream.php similarity index 100% rename from lib/repeatedbymenoticestream.php rename to plugins/Share/lib/repeatedbymenoticestream.php diff --git a/lib/repeatsofmenoticestream.php b/plugins/Share/lib/repeatsofmenoticestream.php similarity index 100% rename from lib/repeatsofmenoticestream.php rename to plugins/Share/lib/repeatsofmenoticestream.php -- 2.39.2