summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlezvous.ca>2008-06-26 17:46:54 -0400
committerEvan Prodromou <evan@controlezvous.ca>2008-06-26 17:46:54 -0400
commitd34fc127a55301a08560d4c2b45bdf057e852432 (patch)
tree5043d55608aa6d99daebcee55b983207f0fdde98
parentf4a0c2b8012fa6699b980af6f1af905d1cb0f6e3 (diff)
better handling of too-long messages
darcs-hash:20080626214654-34904-68a52888deaaca54fe39bcd77ae51997aa3a3959.gz
-rw-r--r--actions/newnotice.php24
-rw-r--r--lib/util.php4
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);
}