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->showNoticeLocation();
$nli->showPermalink();
$nli->showRepeat();
$nli->showNoticeOptions();
}

View File

@ -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:

View File

@ -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
*

View File

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

View File

@ -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.