forked from GNUsocial/gnu-social
Repeats shown in threaded noticelist now handled by plugin
This commit is contained in:
16
plugins/Share/lib/threadednoticelistinlinerepeatsitem.php
Normal file
16
plugins/Share/lib/threadednoticelistinlinerepeatsitem.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
class ThreadedNoticeListInlineRepeatsItem extends ThreadedNoticeListRepeatsItem
|
||||
{
|
||||
function showStart()
|
||||
{
|
||||
$this->out->elementStart('div', array('class' => 'notice-repeats'));
|
||||
}
|
||||
|
||||
function showEnd()
|
||||
{
|
||||
$this->out->elementEnd('div');
|
||||
}
|
||||
}
|
65
plugins/Share/lib/threadednoticelistrepeatsitem.php
Normal file
65
plugins/Share/lib/threadednoticelistrepeatsitem.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
/**
|
||||
* Placeholder for showing repeats...
|
||||
*/
|
||||
class ThreadedNoticeListRepeatsItem extends NoticeListActorsItem
|
||||
{
|
||||
function getProfiles()
|
||||
{
|
||||
$repeats = Notice::listGet('repeat_of', array($this->notice->getID()));
|
||||
|
||||
$profiles = array();
|
||||
foreach ($repeats[$this->notice->getID()] as $rep) {
|
||||
$profiles[] = $rep->profile_id;
|
||||
}
|
||||
|
||||
return $profiles;
|
||||
}
|
||||
|
||||
function magicList($items)
|
||||
{
|
||||
if (count($items) > 4) {
|
||||
return parent::magicList(array_slice($items, 0, 3));
|
||||
} else {
|
||||
return parent::magicList($items);
|
||||
}
|
||||
}
|
||||
|
||||
function getListMessage($count, $you)
|
||||
{
|
||||
if ($count == 1 && $you) {
|
||||
// darn first person being different from third person!
|
||||
// TRANS: List message for notice repeated by logged in user.
|
||||
return _m('REPEATLIST', 'You repeated this.');
|
||||
} else if ($count > 4) {
|
||||
// TRANS: List message for when more than 4 people repeat something.
|
||||
// TRANS: %%s is a list of users liking a notice, %d is the number over 4 that like the notice.
|
||||
// TRANS: Plural is decided on the total number of users liking the notice (count of %%s + %d).
|
||||
return sprintf(_m('%%s and %d other repeated this.',
|
||||
'%%s and %d others repeated this.',
|
||||
$count - 3),
|
||||
$count - 3);
|
||||
} else {
|
||||
// TRANS: List message for repeated notices.
|
||||
// TRANS: %%s is a list of users who have repeated a notice.
|
||||
// TRANS: Plural is based on the number of of users that have repeated a notice.
|
||||
return sprintf(_m('%%s repeated this.',
|
||||
'%%s repeated this.',
|
||||
$count),
|
||||
$count);
|
||||
}
|
||||
}
|
||||
|
||||
function showStart()
|
||||
{
|
||||
$this->out->elementStart('li', array('class' => 'notice-data notice-repeats'));
|
||||
}
|
||||
|
||||
function showEnd()
|
||||
{
|
||||
$this->out->elementEnd('li');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user