summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2008-10-20 13:02:45 -0400
committerEvan Prodromou <evan@controlyourself.ca>2008-10-20 13:02:45 -0400
commitf2e3021b59f3661b3c900b06600a580b8970df2f (patch)
tree60a0c01fa990a7fc3b44571f93961c612868e88e
parentb2f0ad1cccc4bebbf264c4ab61a37173c9a565cc (diff)
try to make replies point to the clicked-on notice
darcs-hash:20081020170245-5ed1f-b84f63d9d9b589bd18f97924db547e348beb6647.gz
-rw-r--r--actions/newnotice.php4
-rw-r--r--js/util.js5
-rw-r--r--lib/stream.php2
-rw-r--r--lib/util.php2
4 files changed, 10 insertions, 3 deletions
diff --git a/actions/newnotice.php b/actions/newnotice.php
index e80c03031..ac630eed0 100644
--- a/actions/newnotice.php
+++ b/actions/newnotice.php
@@ -58,8 +58,10 @@ class NewnoticeAction extends Action {
$cmd->execute(new WebChannel());
return;
}
+
+ $replyto = $this->trimmed('inreplyto');
- $notice = Notice::saveNew($user->id, $content, 'web');
+ $notice = Notice::saveNew($user->id, $content, 'web', $replyto);
if (is_string($notice)) {
$this->show_form($notice);
diff --git a/js/util.js b/js/util.js
index fe3ed74dc..0055c35df 100644
--- a/js/util.js
+++ b/js/util.js
@@ -88,7 +88,7 @@ $(document).ready(function(){
$("form.disfavor").each(addAjaxHidden);
});
-function doreply(nick) {
+function doreply(nick,id) {
rgx_username = /^[0-9a-zA-Z\-_.]*$/;
if (nick.match(rgx_username)) {
replyto = "@" + nick + " ";
@@ -97,6 +97,9 @@ function doreply(nick) {
$("#status_textarea").focus();
return false;
}
+ if (id) {
+ $("#inreplyto").val(id);
+ }
}
return true;
}
diff --git a/lib/stream.php b/lib/stream.php
index 8a2c1e9b0..ea452096c 100644
--- a/lib/stream.php
+++ b/lib/stream.php
@@ -87,7 +87,7 @@ class StreamAction extends PersonalAction {
common_element_start('a',
array('href' => common_local_url('newnotice',
array('replyto' => $profile->nickname)),
- 'onclick' => 'return doreply("'.$profile->nickname.'");',
+ 'onclick' => 'return doreply("'.$profile->nickname.'", '.$notice->id.');',
'title' => _('reply'),
'class' => 'replybutton'));
common_raw('&rarr;');
diff --git a/lib/util.php b/lib/util.php
index bb5da1396..6e9e4533c 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -1298,6 +1298,8 @@ function common_notice_form($action=NULL, $content=NULL) {
if ($action) {
common_hidden('returnto', $action);
}
+ # set by JavaScript
+ common_hidden('inreplyto', 'false');
common_element('input', array('id' => 'status_submit',
'name' => 'status_submit',
'type' => 'submit',