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:
		@@ -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'),
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user