Commit dbdac9cf authored by mmn's avatar mmn

Merge branch 'in-reply-to-uf2' into 'master'

Add direct link to parent notice

This is partly for usability, and partly to make Linkbacks for replies work (when the plugin is enabled).

See merge request !37
parents f345f1d6 cd22be33
......@@ -64,6 +64,7 @@ class NoticeListItem extends Widget
protected $options = true;
protected $maxchars = 0; // if <= 0 it means use full posts
protected $item_tag = 'li';
protected $pa = null;
/**
* constructor
......@@ -150,7 +151,13 @@ class NoticeListItem extends Widget
$this->elementStart('section', array('class'=>'notice-headers'));
$this->showNoticeTitle();
$this->showAuthor();
if ($this->addressees) { $this->showAddressees(); }
if (!empty($this->notice->reply_to) || count($this->getProfileAddressees()) > 0) {
$this->elementStart('div', array('class' => 'parents'));
if (!empty($this->notice->reply_to)) { $this->showParent(); }
if ($this->addressees) { $this->showAddressees(); }
$this->elementEnd('div');
}
$this->elementEnd('section');
}
......@@ -248,6 +255,19 @@ class NoticeListItem extends Widget
}
}
function showParent()
{
$this->out->element(
'a',
array(
'href' => $this->notice->getParent()->getUrl(),
'class' => 'u-in-reply-to',
'rel' => 'in-reply-to'
),
'in reply to'
);
}
function showAddressees()
{
$pa = $this->getProfileAddressees();
......@@ -268,19 +288,20 @@ class NoticeListItem extends Widget
function getProfileAddressees()
{
$pa = array();
if($this->pa) { return $this->pa; }
$this->pa = array();
$attentions = $this->getReplyProfiles();
foreach ($attentions as $attn) {
$class = $attn->isGroup() ? 'group' : 'account';
$pa[] = array('href' => $attn->profileurl,
'title' => $attn->getNickname(),
'class' => "addressee {$class}",
'text' => $attn->getStreamName());
$this->pa[] = array('href' => $attn->profileurl,
'title' => $attn->getNickname(),
'class' => "addressee {$class}",
'text' => $attn->getStreamName());
}
return $pa;
return $this->pa;
}
function getReplyProfiles()
......
......@@ -648,12 +648,12 @@ address .poweredby {
width:100%;
}
.notice .p-author {
margin-right: 8px;
.notice .parents {
display: inline;
}
.notice .addressees::before {
content: '\25B8';
.notice .parents::before {
content: '\25B8 ';
}
.notice .addressees, .notice .addressees li {
display: inline;
......
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