Moving some more repeat stuff into the Share plugin

This commit is contained in:
Mikael Nordfeldth 2015-03-12 22:56:25 +01:00
parent 2821be2bce
commit a647a4f6b3
7 changed files with 50 additions and 35 deletions

View File

@ -602,7 +602,6 @@ abstract class ActivityHandlerPlugin extends Plugin
$nli->showNoticeSource(); $nli->showNoticeSource();
$nli->showNoticeLocation(); $nli->showNoticeLocation();
$nli->showPermalink(); $nli->showPermalink();
$nli->showRepeat();
$nli->showNoticeOptions(); $nli->showNoticeOptions();
} }

View File

@ -303,6 +303,7 @@ class ApiAction extends Action
{ {
$base = $this->twitterSimpleStatusArray($notice, $include_user); $base = $this->twitterSimpleStatusArray($notice, $include_user);
// FIXME: MOVE TO SHARE PLUGIN
if (!empty($notice->repeat_of)) { if (!empty($notice->repeat_of)) {
$original = Notice::getKV('id', $notice->repeat_of); $original = Notice::getKV('id', $notice->repeat_of);
if ($original instanceof Notice) { if ($original instanceof Notice) {
@ -374,12 +375,6 @@ class ApiAction extends Action
$twitter_status['geo'] = null; $twitter_status['geo'] = null;
} }
if (!is_null($this->scoped)) {
$twitter_status['repeated'] = $this->scoped->hasRepeated($notice);
} else {
$twitter_status['repeated'] = false;
}
// Enclosures // Enclosures
$attachments = $notice->attachments(); $attachments = $notice->attachments();
@ -646,6 +641,7 @@ class ApiAction extends Action
$this->showGeoXML($value); $this->showGeoXML($value);
break; break;
case 'retweeted_status': case 'retweeted_status':
// FIXME: MOVE TO SHARE PLUGIN
$this->showTwitterXmlStatus($value, 'retweeted_status'); $this->showTwitterXmlStatus($value, 'retweeted_status');
break; break;
default: default:

View File

@ -180,7 +180,6 @@ class NoticeListItem extends Widget
$this->showNoticeSource(); $this->showNoticeSource();
$this->showNoticeLocation(); $this->showNoticeLocation();
$this->showPermalink(); $this->showPermalink();
$this->showRepeat();
Event::handle('EndShowNoticeInfo', array($this)); 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 * show a link to reply to the current notice
* *

View File

@ -340,7 +340,6 @@ class QnAPlugin extends MicroAppPlugin
$nli->showNoticeSource(); $nli->showNoticeSource();
$nli->showNoticeLocation(); $nli->showNoticeLocation();
$nli->showPermalink(); $nli->showPermalink();
$nli->showRepeat();
$nli->showNoticeOptions(); $nli->showNoticeOptions();

View File

@ -190,6 +190,31 @@ class SharePlugin extends ActivityVerbHandlerPlugin
// Layout stuff // 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) public function onEndShowThreadedNoticeTailItems(NoticeListItem $nli, Notice $notice, &$threadActive)
{ {
if ($nli instanceof ThreadedNoticeListSubItem) { if ($nli instanceof ThreadedNoticeListSubItem) {
@ -244,6 +269,29 @@ class SharePlugin extends ActivityVerbHandlerPlugin
// pass // 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 * EndInterpretCommand for RepeatPlugin will handle the 'repeat' command
* using the class RepeatCommand. * using the class RepeatCommand.