better handling of too-long messages

darcs-hash:20080626214654-34904-68a52888deaaca54fe39bcd77ae51997aa3a3959.gz
This commit is contained in:
Evan Prodromou 2008-06-26 17:46:54 -04:00
parent f4a0c2b801
commit d34fc127a5
2 changed files with 15 additions and 13 deletions

View File

@ -49,12 +49,12 @@ class NewnoticeAction extends Action {
$this->show_form(_t('No content!')); $this->show_form(_t('No content!'));
return; return;
} else if (strlen($notice->content) > 140) { } 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; return;
} }
$id = $notice->insert(); $id = $notice->insert();
if (!$id) { if (!$id) {
common_server_error(_t('Problem saving notice.')); common_server_error(_t('Problem saving notice.'));
return; return;
@ -62,12 +62,12 @@ class NewnoticeAction extends Action {
$orig = clone($notice); $orig = clone($notice);
$notice->uri = common_notice_uri($notice); $notice->uri = common_notice_uri($notice);
if (!$notice->update($orig)) { if (!$notice->update($orig)) {
common_server_error(_t('Problem saving notice.')); common_server_error(_t('Problem saving notice.'));
return; return;
} }
common_broadcast_notice($notice); common_broadcast_notice($notice);
$returnto = $this->trimmed('returnto'); $returnto = $this->trimmed('returnto');
if ($returnto) { if ($returnto) {
@ -80,15 +80,17 @@ class NewnoticeAction extends Action {
common_redirect($url, 303); common_redirect($url, 303);
} }
function show_top($msg=NULL) { function show_top($content=NULL) {
if ($msg) { common_notice_form(NULL, $content);
common_element('div', 'error', $msg);
}
} }
function show_form($msg=NULL) { function show_form($msg=NULL) {
common_show_header(_t('New notice'), NULL, $msg, array($this, 'show_top')); $content = $this->trimmed('status_textarea');
common_notice_form(); common_show_header(_t('New notice'), NULL, $content,
array($this, 'show_top'));
if ($msg) {
common_element('p', 'error', $msg);
}
common_show_footer(); common_show_footer();
} }
} }

View File

@ -774,7 +774,7 @@ function common_profile_url($nickname) {
# Don't call if nobody's logged in # 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(); $user = common_current_user();
assert(!is_null($user)); assert(!is_null($user));
common_element_start('form', array('id' => 'status_form', common_element_start('form', array('id' => 'status_form',
@ -786,7 +786,7 @@ function common_notice_form($action=NULL) {
_t('What\'s up, ').$user->nickname.'?'); _t('What\'s up, ').$user->nickname.'?');
common_element('textarea', array('id' => 'status_textarea', common_element('textarea', array('id' => 'status_textarea',
'name' => 'status_textarea'), 'name' => 'status_textarea'),
' '); ($content) ? $content : ' ');
if ($action) { if ($action) {
common_hidden('returnto', $action); common_hidden('returnto', $action);
} }