From a7db6216fad30dd07ce52bd687c670ea4f0ebb77 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 9 Jul 2008 03:14:39 -0400 Subject: [PATCH] fallback to newnotice on reply button, new button with mouseover darcs-hash:20080709071439-84dde-f85f0e97f7c14bb77b7174f281e3e9f75c23cac1.gz --- actions/newnotice.php | 7 +++++++ js/util.js | 23 +++++++++++++---------- lib/stream.php | 8 +++++++- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/actions/newnotice.php b/actions/newnotice.php index 0045d6c745..a7a3f8362c 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 50c311f993..d0116574bf 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 bef3abff01..8846920efd 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'); }