diff options
-rw-r--r-- | actions/newnotice.php | 7 | ||||
-rw-r--r-- | js/util.js | 23 | ||||
-rw-r--r-- | lib/stream.php | 8 |
3 files changed, 27 insertions, 11 deletions
diff --git a/actions/newnotice.php b/actions/newnotice.php index 0045d6c74..a7a3f8362 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -94,6 +94,13 @@ class NewnoticeAction extends Action { function show_form($msg=NULL) { $content = $this->trimmed('status_textarea'); + if (!$content) { + $replyto = $this->trimmed('replyto'); + $profile = Profile::staticGet('nickname', $replyto); + if ($profile) { + $content = "@$profile "; + } + } common_show_header(_t('New notice'), NULL, $content, array($this, 'show_top')); if ($msg) { diff --git a/js/util.js b/js/util.js index 50c311f99..d0116574b 100644 --- a/js/util.js +++ b/js/util.js @@ -13,20 +13,23 @@ $(document).ready(function(){ counter.attr("class", ""); } } - + if ($("#status_textarea").length) { $("#status_textarea").bind("keyup", counter); // run once in case there's something in there counter(); } - }); - function doreply(nick) { - rgx_username = /^[0-9a-zA-Z\-_.]*$/; - if (nick.match(rgx_username)) { - replyto = "@" + nick + " "; - document.getElementById("status_textarea").value=replyto; - document.getElementById("status_textarea").focus(); - } - } +function doreply(nick) { + rgx_username = /^[0-9a-zA-Z\-_.]*$/; + if (nick.match(rgx_username)) { + replyto = "@" + nick + " "; + if ($("#status_textarea")) { + $("#status_textarea").value=replyto; + $("#status_textarea").focus(); + } + } + return false; +} + diff --git a/lib/stream.php b/lib/stream.php index bef3abff0..8846920ef 100644 --- a/lib/stream.php +++ b/lib/stream.php @@ -86,7 +86,6 @@ class StreamAction extends Action { 'href' => $noticeurl, 'title' => common_exact_date($notice->created)), common_date_string($notice->created)); - common_element('a', array('href' => "#", 'onclick' => 'javascript: doreply("'.$profile->nickname.'")', 'class' => 'replybutton'), 'reply'); if ($replied_id) { $replyurl = common_local_url('shownotice', array('notice' => $replied_id)); common_text('('); @@ -95,6 +94,13 @@ class StreamAction extends Action { _t(' in reply to...')); common_text(')'); } + common_element('a', + array('href' => common_local_url('newnotice', + array('replyto' => $profile->nickname)), + 'onclick' => 'doreply("'.$profile->nickname.'")', + 'title' => _t('reply'), + 'class' => 'replybutton'), + _t('↺')); common_element_end('p'); common_element_end('li'); } |