Commit a647a4f6 authored by mmn's avatar mmn

Moving some more repeat stuff into the Share plugin

parent 2821be2b
......@@ -602,7 +602,6 @@ abstract class ActivityHandlerPlugin extends Plugin
$nli->showNoticeSource();
$nli->showNoticeLocation();
$nli->showPermalink();
$nli->showRepeat();
$nli->showNoticeOptions();
}
......
......@@ -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:
......
......@@ -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
*
......
......@@ -340,7 +340,6 @@ class QnAPlugin extends MicroAppPlugin
$nli->showNoticeSource();
$nli->showNoticeLocation();
$nli->showPermalink();
$nli->showRepeat();
$nli->showNoticeOptions();
......
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment