]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
better handling of too-long messages
authorEvan Prodromou <evan@controlezvous.ca>
Thu, 26 Jun 2008 21:46:54 +0000 (17:46 -0400)
committerEvan Prodromou <evan@controlezvous.ca>
Thu, 26 Jun 2008 21:46:54 +0000 (17:46 -0400)
darcs-hash:20080626214654-34904-68a52888deaaca54fe39bcd77ae51997aa3a3959.gz

actions/newnotice.php
lib/util.php

index 6d98c820cc46d4f8b40ef7d8376ea354175528a6..64fe2494b8f11845675e086d364910e656e8c9a5 100644 (file)
@@ -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();
        }
 }
index e50582d1a98f200fffa57ac3adb184d6686dee8f..04eb2094ecccaaba23ee1a22a1c87692eb22e998 100644 (file)
@@ -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);
        }