]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/newnotice.php
The overloaded DB_DataObject function staticGet is now called getKV
[quix0rs-gnu-social.git] / actions / newnotice.php
index c145712f510ada2c99366587a060fa29ed4a6934..938be69b0f89da4d9a3ae9f5114987ecded6e252 100644 (file)
@@ -47,13 +47,11 @@ require_once INSTALLDIR . '/lib/mediafile.php';
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class NewnoticeAction extends Action
 {
     /**
      * Error message, if any
      */
-
     var $msg = null;
 
     /**
@@ -63,11 +61,10 @@ class NewnoticeAction extends Action
      *
      * @return string page title
      */
-
     function title()
     {
         // TRANS: Page title for sending a new notice.
-        return _('New notice');
+        return _m('TITLE','New notice');
     }
 
     /**
@@ -86,7 +83,7 @@ class NewnoticeAction extends Action
     function handle($args)
     {
         if (!common_logged_in()) {
-            // TRANS: Client error displayed trying to send a notice while not logged in.
+            // TRANS: Error message displayed when trying to perform an action that requires a logged in user.
             $this->clientError(_('Not logged in.'));
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             // check for this before token since all POST and FILES data
@@ -104,6 +101,7 @@ class NewnoticeAction extends Action
             // CSRF protection
             $token = $this->trimmed('token');
             if (!$token || $token != common_session_token()) {
+                // TRANS: Client error displayed when the session token does not match or is not given.
                 $this->clientError(_('There was a problem with your session token. '.
                                      'Try again, please.'));
             }
@@ -129,7 +127,6 @@ class NewnoticeAction extends Action
      *
      * @return void
      */
-
     function saveNewNotice()
     {
         $user = common_current_user();
@@ -184,6 +181,8 @@ class NewnoticeAction extends Action
 
             if (Notice::contentTooLong($content_shortened)) {
                 $upload->delete();
+                // TRANS: Client error displayed exceeding the maximum notice length.
+                // TRANS: %d is the maximum length for a notice.
                 $this->clientError(sprintf(_m('Maximum notice size is %d character, including attachment URL.',
                                               'Maximum notice size is %d characters, including attachment URL.',
                                               Notice::maxContent()),
@@ -213,6 +212,10 @@ class NewnoticeAction extends Action
         $author_id = $user->id;
         $text      = $content_shortened;
 
+        // Does the heavy-lifting for getting "To:" information
+
+        ToSelector::fillOptions($this, $options);
+
         if (Event::handle('StartNoticeSaveWeb', array($this, &$author_id, &$text, &$options))) {
 
             $notice = Notice::saveNew($user->id, $content_shortened, 'web', $options);
@@ -260,7 +263,6 @@ class NewnoticeAction extends Action
      *
      * @return void
      */
-
     function ajaxErrorMsg($msg)
     {
         $this->startHTML('text/xml;charset=utf-8', true);
@@ -283,12 +285,12 @@ class NewnoticeAction extends Action
      *
      * @return void
      */
-
     function ajaxShowForm()
     {
         $this->startHTML('text/xml;charset=utf-8', true);
         $this->elementStart('head');
-        $this->element('title', null, _('New notice'));
+        // TRANS: Title for form to send a new notice.
+        $this->element('title', null, _m('TITLE','New notice'));
         $this->elementEnd('head');
         $this->elementStart('body');
 
@@ -313,7 +315,6 @@ class NewnoticeAction extends Action
      *
      * @return void
      */
-
     function showForm($msg=null)
     {
         if ($this->boolean('ajax')) {
@@ -330,20 +331,21 @@ class NewnoticeAction extends Action
     }
 
     /**
+     * // XXX: Should we be showing the notice form with microapps here?
+     *
      * Overload for replies or bad results
      *
      * We show content in the notice form if there were replies or results.
      *
      * @return void
      */
-
     function showNoticeForm()
     {
         $content = $this->trimmed('status_textarea');
         if (!$content) {
             $replyto = $this->trimmed('replyto');
             $inreplyto = $this->trimmed('inreplyto');
-            $profile = Profile::staticGet('nickname', $replyto);
+            $profile = Profile::getKV('nickname', $replyto);
             if ($profile) {
                 $content = '@' . $profile->nickname . ' ';
             }
@@ -352,8 +354,27 @@ class NewnoticeAction extends Action
             $inreplyto = null;
         }
 
-        $notice_form = new NoticeForm($this, '', $content, null, $inreplyto);
+        $this->elementStart('div', 'input_forms');
+        $this->elementStart(
+            'div',
+            array(
+                'id'    => 'input_form_status',
+                'class' => 'input_form current nonav'
+            )
+        );
+
+        $notice_form = new NoticeForm(
+            $this,
+            array(
+                'content' => $content,
+                'inreplyto' => $inreplyto
+            )
+        );
+
         $notice_form->show();
+
+        $this->elementEnd('div');
+        $this->elementEnd('div');
     }
 
     /**
@@ -365,7 +386,6 @@ class NewnoticeAction extends Action
      *
      * @todo maybe show some instructions?
      */
-
     function showPageNotice()
     {
         if ($this->msg) {
@@ -382,7 +402,6 @@ class NewnoticeAction extends Action
      *
      * @return void
      */
-
     function showNotice($notice)
     {
         $nli = new NoticeListItem($notice, $this);