diff --git a/actions/newnotice.php b/actions/newnotice.php index 6d98c820cc..64fe2494b8 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 e50582d1a9..04eb2094ec 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); }