]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
shortenLinks _after_ media upload to be consistent with api
authorMikael Nordfeldth <mmn@hethane.se>
Thu, 7 Jan 2016 17:14:45 +0000 (18:14 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Thu, 7 Jan 2016 17:14:45 +0000 (18:14 +0100)
actions/newnotice.php
lib/httpclient.php

index c4b6bfa554a9c604af56c04cc10f66c469165cd9..4a864b25c3c926e2b2964c4892484096d69fb58e 100644 (file)
@@ -129,19 +129,6 @@ class NewnoticeAction extends FormAction
         $act->time = time();
         $act->actor = $this->scoped->asActivityObject();
 
-        $content = $this->scoped->shortenLinks($content);
-
-        // Reject notice if it is too long (without the HTML)
-        // Should we do this before or after the upload attachment link? I think before...
-        if (Notice::contentTooLong($content)) {
-            // TRANS: Client error displayed when the parameter "status" is missing.
-            // TRANS: %d is the maximum number of character for a notice.
-            throw new ClientException(sprintf(_m('That\'s too long. Maximum notice size is %d character.',
-                                                 'That\'s too long. Maximum notice size is %d characters.',
-                                                 Notice::maxContent()),
-                                              Notice::maxContent()));
-        }
-
         $upload = null;
         try {
             // throws exception on failure
@@ -158,6 +145,19 @@ class NewnoticeAction extends FormAction
             // simply no attached media to the new notice
         }
 
+        $content = $this->scoped->shortenLinks($content);
+
+        // Reject notice if it is too long (without the HTML)
+        // This is done after MediaFile::fromUpload etc. just to act the same as the ApiStatusesUpdateAction
+        if (Notice::contentTooLong($content)) {
+            // TRANS: Client error displayed when the parameter "status" is missing.
+            // TRANS: %d is the maximum number of character for a notice.
+            throw new ClientException(sprintf(_m('That\'s too long. Maximum notice size is %d character.',
+                                                 'That\'s too long. Maximum notice size is %d characters.',
+                                                 Notice::maxContent()),
+                                              Notice::maxContent()));
+        }
+
         $actobj = new ActivityObject();
         $actobj->type = ActivityObject::NOTE;
         $actobj->content = common_render_content($content, $this->scoped, $parent);
index b386ce39875e991d08ed5fc0db4deaf2a5b7039b..3de88e2259ea3507946a7fd37c7445fa8440b34e 100644 (file)
@@ -360,4 +360,4 @@ class HTTPClient extends HTTP_Request2
         } while ($maxRedirs);
         return new GNUsocial_HTTPResponse($response, $this->getUrl(), $redirs);
     }
-}
\ No newline at end of file
+}