show original notice in repeat, with repeat info below
This commit is contained in:
parent
afc86a86d3
commit
962f391f3e
@ -147,6 +147,10 @@ class NoticeListItem extends Widget
|
|||||||
|
|
||||||
var $notice = null;
|
var $notice = null;
|
||||||
|
|
||||||
|
/** The notice that was repeated. */
|
||||||
|
|
||||||
|
var $repeat = null;
|
||||||
|
|
||||||
/** The profile of the author of the notice, extracted once for convenience. */
|
/** The profile of the author of the notice, extracted once for convenience. */
|
||||||
|
|
||||||
var $profile = null;
|
var $profile = null;
|
||||||
@ -162,8 +166,13 @@ class NoticeListItem extends Widget
|
|||||||
function __construct($notice, $out=null)
|
function __construct($notice, $out=null)
|
||||||
{
|
{
|
||||||
parent::__construct($out);
|
parent::__construct($out);
|
||||||
$this->notice = $notice;
|
if (!empty($notice->repeat_of)) {
|
||||||
$this->profile = $notice->getProfile();
|
$this->notice = Notice::staticGet('id', $notice->repeat_of);
|
||||||
|
$this->repeat = $notice;
|
||||||
|
} else {
|
||||||
|
$this->notice = $notice;
|
||||||
|
}
|
||||||
|
$this->profile = $this->notice->getProfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -202,6 +211,7 @@ class NoticeListItem extends Widget
|
|||||||
$this->showNoticeSource();
|
$this->showNoticeSource();
|
||||||
$this->showNoticeLocation();
|
$this->showNoticeLocation();
|
||||||
$this->showContext();
|
$this->showContext();
|
||||||
|
$this->showRepeat();
|
||||||
$this->out->elementEnd('div');
|
$this->out->elementEnd('div');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -508,6 +518,52 @@ class NoticeListItem extends Widget
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show a link to the author of repeat
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
|
||||||
|
function showRepeat()
|
||||||
|
{
|
||||||
|
if (!empty($this->repeat)) {
|
||||||
|
|
||||||
|
$repeater = Profile::staticGet('id', $this->repeat->profile_id);
|
||||||
|
|
||||||
|
$attrs = array('href' => $repeater->profileurl,
|
||||||
|
'class' => 'url');
|
||||||
|
|
||||||
|
if (!empty($repeater->fullname)) {
|
||||||
|
$attrs['title'] = $repeater->fullname . ' (' . $repeater->nickname . ')';
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->out->elementStart('span', 'repeat');
|
||||||
|
|
||||||
|
$this->out->elementStart('a', $attrs);
|
||||||
|
|
||||||
|
$avatar = $repeater->getAvatar(AVATAR_MINI_SIZE);
|
||||||
|
|
||||||
|
$this->out->element('img', array('src' => ($avatar) ?
|
||||||
|
$avatar->displayUrl() :
|
||||||
|
Avatar::defaultImage(AVATAR_MINI_SIZE),
|
||||||
|
'class' => 'avatar photo',
|
||||||
|
'width' => AVATAR_MINI_SIZE,
|
||||||
|
'height' => AVATAR_MINI_SIZE,
|
||||||
|
'alt' =>
|
||||||
|
($repeater->fullname) ?
|
||||||
|
$repeater->fullname :
|
||||||
|
$repeater->nickname));
|
||||||
|
|
||||||
|
$this->out->elementEnd('a');
|
||||||
|
|
||||||
|
$text_link = XMLStringer::estring('a', $attrs, $repeater->nickname);
|
||||||
|
|
||||||
|
$this->out->raw(sprintf(_('Repeated by %s'), $text_link));
|
||||||
|
|
||||||
|
$this->out->elementEnd('span');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* show a link to reply to the current notice
|
* show a link to reply to the current notice
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user