diff options
author | Evan Prodromou <evan@controlezvous.ca> | 2008-06-26 17:46:54 -0400 |
---|---|---|
committer | Evan Prodromou <evan@controlezvous.ca> | 2008-06-26 17:46:54 -0400 |
commit | d34fc127a55301a08560d4c2b45bdf057e852432 (patch) | |
tree | 5043d55608aa6d99daebcee55b983207f0fdde98 | |
parent | f4a0c2b8012fa6699b980af6f1af905d1cb0f6e3 (diff) |
better handling of too-long messages
darcs-hash:20080626214654-34904-68a52888deaaca54fe39bcd77ae51997aa3a3959.gz
-rw-r--r-- | actions/newnotice.php | 24 | ||||
-rw-r--r-- | lib/util.php | 4 |
2 files changed, 15 insertions, 13 deletions
diff --git a/actions/newnotice.php b/actions/newnotice.php index 6d98c820c..64fe2494b 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -49,12 +49,12 @@ class NewnoticeAction extends Action { $this->show_form(_t('No content!')); return; } else if (strlen($notice->content) > 140) { - $this->show_form(_t('Notice content too long.')); + $this->show_form(_t('That\'s too long. Max notice size is 140 chars.')); return; } $id = $notice->insert(); - + if (!$id) { common_server_error(_t('Problem saving notice.')); return; @@ -62,12 +62,12 @@ class NewnoticeAction extends Action { $orig = clone($notice); $notice->uri = common_notice_uri($notice); - + if (!$notice->update($orig)) { common_server_error(_t('Problem saving notice.')); return; } - + common_broadcast_notice($notice); $returnto = $this->trimmed('returnto'); if ($returnto) { @@ -80,15 +80,17 @@ class NewnoticeAction extends Action { common_redirect($url, 303); } - function show_top($msg=NULL) { - if ($msg) { - common_element('div', 'error', $msg); - } + function show_top($content=NULL) { + common_notice_form(NULL, $content); } - + function show_form($msg=NULL) { - common_show_header(_t('New notice'), NULL, $msg, array($this, 'show_top')); - common_notice_form(); + $content = $this->trimmed('status_textarea'); + common_show_header(_t('New notice'), NULL, $content, + array($this, 'show_top')); + if ($msg) { + common_element('p', 'error', $msg); + } common_show_footer(); } } diff --git a/lib/util.php b/lib/util.php index e50582d1a..04eb2094e 100644 --- a/lib/util.php +++ b/lib/util.php @@ -774,7 +774,7 @@ function common_profile_url($nickname) { # Don't call if nobody's logged in -function common_notice_form($action=NULL) { +function common_notice_form($action=NULL, $content=NULL) { $user = common_current_user(); assert(!is_null($user)); common_element_start('form', array('id' => 'status_form', @@ -786,7 +786,7 @@ function common_notice_form($action=NULL) { _t('What\'s up, ').$user->nickname.'?'); common_element('textarea', array('id' => 'status_textarea', 'name' => 'status_textarea'), - ' '); + ($content) ? $content : ' '); if ($action) { common_hidden('returnto', $action); } |