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');
|
$content = $this->trimmed('status_textarea');
|
||||||
if (!$content) {
|
if (!$content) {
|
||||||
$replyto = $this->trimmed('replyto');
|
$replyto = $this->trimmed('replyto');
|
||||||
|
$inreplyto = $this->trimmed('inreplyto');
|
||||||
$profile = Profile::staticGet('nickname', $replyto);
|
$profile = Profile::staticGet('nickname', $replyto);
|
||||||
if ($profile) {
|
if ($profile) {
|
||||||
$content = '@' . $profile->nickname . ' ';
|
$content = '@' . $profile->nickname . ' ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$notice_form = new NoticeForm($this, '', $content);
|
$notice_form = new NoticeForm($this, '', $content, null, $inreplyto);
|
||||||
$notice_form->show();
|
$notice_form->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -629,7 +629,7 @@ function mail_notify_attn($user, $notice)
|
||||||
$notice->content,//%4
|
$notice->content,//%4
|
||||||
$conversationUrl,//%5
|
$conversationUrl,//%5
|
||||||
common_local_url('newnotice',
|
common_local_url('newnotice',
|
||||||
array('replyto' => $sender->nickname)),//%6
|
array('replyto' => $sender->nickname, 'inreplyto' => $notice->id)),//%6
|
||||||
common_local_url('replies',
|
common_local_url('replies',
|
||||||
array('nickname' => $user->nickname)),//%7
|
array('nickname' => $user->nickname)),//%7
|
||||||
common_local_url('emailsettings'));//%8
|
common_local_url('emailsettings'));//%8
|
||||||
|
|
|
@ -69,6 +69,12 @@ class NoticeForm extends Form
|
||||||
|
|
||||||
var $user = null;
|
var $user = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The notice being replied to
|
||||||
|
*/
|
||||||
|
|
||||||
|
var $inreplyto = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
*
|
*
|
||||||
|
@ -77,12 +83,13 @@ class NoticeForm extends Form
|
||||||
* @param string $content content to pre-fill
|
* @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);
|
parent::__construct($out);
|
||||||
|
|
||||||
$this->action = $action;
|
$this->action = $action;
|
||||||
$this->content = $content;
|
$this->content = $content;
|
||||||
|
$this->inreplyto = $inreplyto;
|
||||||
|
|
||||||
if ($user) {
|
if ($user) {
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
|
@ -161,7 +168,7 @@ class NoticeForm extends Form
|
||||||
if ($this->action) {
|
if ($this->action) {
|
||||||
$this->out->hidden('notice_return-to', $this->action, 'returnto');
|
$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()) {
|
if (common_logged_in()) {
|
||||||
$reply_url = common_local_url('newnotice',
|
$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,
|
$this->out->elementStart('a', array('href' => $reply_url,
|
||||||
'class' => 'notice_reply',
|
'class' => 'notice_reply',
|
||||||
'title' => _('Reply to this notice')));
|
'title' => _('Reply to this notice')));
|
||||||
|
|
|
@ -175,6 +175,10 @@ class Router
|
||||||
$m->connect('notice/new?replyto=:replyto',
|
$m->connect('notice/new?replyto=:replyto',
|
||||||
array('action' => 'newnotice'),
|
array('action' => 'newnotice'),
|
||||||
array('replyto' => '[A-Za-z0-9_-]+'));
|
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',
|
$m->connect('notice/:notice/file',
|
||||||
array('action' => 'file'),
|
array('action' => 'file'),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user