From 1f02dc639ec3dfa44df87c4fa031b3f298ffee7e Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Thu, 7 Jan 2016 18:14:45 +0100 Subject: [PATCH] shortenLinks _after_ media upload to be consistent with api --- actions/newnotice.php | 26 +++++++++++++------------- lib/httpclient.php | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/actions/newnotice.php b/actions/newnotice.php index c4b6bfa554..4a864b25c3 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -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); diff --git a/lib/httpclient.php b/lib/httpclient.php index b386ce3987..3de88e2259 100644 --- a/lib/httpclient.php +++ b/lib/httpclient.php @@ -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 +} -- 2.39.2