forked from GNUsocial/gnu-social
Add a parameter named 'inreplyto' to the 'notice/new' page, so urls can inclue 'inreplyto' id's. Also add 'inreplyto' to the urls sent in emails.
This commit is contained in:
parent
c04987018c
commit
57feeb566a
@ -431,13 +431,14 @@ class NewnoticeAction extends Action
|
||||
$content = $this->trimmed('status_textarea');
|
||||
if (!$content) {
|
||||
$replyto = $this->trimmed('replyto');
|
||||
$inreplyto = $this->trimmed('inreplyto');
|
||||
$profile = Profile::staticGet('nickname', $replyto);
|
||||
if ($profile) {
|
||||
$content = '@' . $profile->nickname . ' ';
|
||||
}
|
||||
}
|
||||
|
||||
$notice_form = new NoticeForm($this, '', $content);
|
||||
$notice_form = new NoticeForm($this, '', $content, null, $inreplyto);
|
||||
$notice_form->show();
|
||||
}
|
||||
|
||||
|
@ -629,7 +629,7 @@ function mail_notify_attn($user, $notice)
|
||||
$notice->content,//%4
|
||||
$conversationUrl,//%5
|
||||
common_local_url('newnotice',
|
||||
array('replyto' => $sender->nickname)),//%6
|
||||
array('replyto' => $sender->nickname, 'inreplyto' => $notice->id)),//%6
|
||||
common_local_url('replies',
|
||||
array('nickname' => $user->nickname)),//%7
|
||||
common_local_url('emailsettings'));//%8
|
||||
|
@ -69,6 +69,12 @@ class NoticeForm extends Form
|
||||
|
||||
var $user = null;
|
||||
|
||||
/**
|
||||
* The notice being replied to
|
||||
*/
|
||||
|
||||
var $inreplyto = null;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -77,12 +83,13 @@ class NoticeForm extends Form
|
||||
* @param string $content content to pre-fill
|
||||
*/
|
||||
|
||||
function __construct($out=null, $action=null, $content=null, $user=null)
|
||||
function __construct($out=null, $action=null, $content=null, $user=null, $inreplyto)
|
||||
{
|
||||
parent::__construct($out);
|
||||
|
||||
$this->action = $action;
|
||||
$this->content = $content;
|
||||
$this->inreplyto = $inreplyto;
|
||||
|
||||
if ($user) {
|
||||
$this->user = $user;
|
||||
@ -161,7 +168,7 @@ class NoticeForm extends Form
|
||||
if ($this->action) {
|
||||
$this->out->hidden('notice_return-to', $this->action, 'returnto');
|
||||
}
|
||||
$this->out->hidden('notice_in-reply-to', $this->action, 'inreplyto');
|
||||
$this->out->hidden('notice_in-reply-to', $this->inreplyto, 'inreplyto');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -442,7 +442,7 @@ class NoticeListItem extends Widget
|
||||
{
|
||||
if (common_logged_in()) {
|
||||
$reply_url = common_local_url('newnotice',
|
||||
array('replyto' => $this->profile->nickname));
|
||||
array('replyto' => $this->profile->nickname, 'inreplyto' => $this->notice->id));
|
||||
$this->out->elementStart('a', array('href' => $reply_url,
|
||||
'class' => 'notice_reply',
|
||||
'title' => _('Reply to this notice')));
|
||||
|
@ -175,6 +175,10 @@ class Router
|
||||
$m->connect('notice/new?replyto=:replyto',
|
||||
array('action' => 'newnotice'),
|
||||
array('replyto' => '[A-Za-z0-9_-]+'));
|
||||
$m->connect('notice/new?replyto=:replyto&inreplyto=:inreplyto',
|
||||
array('action' => 'newnotice'),
|
||||
array('replyto' => '[A-Za-z0-9_-]+'),
|
||||
array('inreplyto' => '[0-9]+'));
|
||||
|
||||
$m->connect('notice/:notice/file',
|
||||
array('action' => 'file'),
|
||||
|
Loading…
Reference in New Issue
Block a user