Esanders has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/378244 )
Change subject: Use new ApiVisualEditorEdit::tryDeflate method ...................................................................... Use new ApiVisualEditorEdit::tryDeflate method Change-Id: Ib121e1a6ddbd3be876ab943486f3843c3681f6de --- M api/ApiContentTranslationPublish.php M api/ApiContentTranslationSave.php 2 files changed, 8 insertions(+), 29 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ContentTranslation refs/changes/44/378244/1 diff --git a/api/ApiContentTranslationPublish.php b/api/ApiContentTranslationPublish.php index ec1d0b5..9c6d0d4 100644 --- a/api/ApiContentTranslationPublish.php +++ b/api/ApiContentTranslationPublish.php @@ -171,7 +171,10 @@ } try { - $wikitext = $this->restbaseClient->convertHtmlToWikitext( $targetTitle, $this->getHtml() ); + $wikitext = $this->restbaseClient->convertHtmlToWikitext( + $targetTitle, + ApiVisualEditorEdit::tryDeflate( $params['html'] ) + ); } catch ( MWException $e ) { if ( is_callable( [ $this, 'dieWithError' ] ) ) { $this->dieWithError( @@ -259,25 +262,6 @@ ContentTranslation\Notification::hundredthTranslation( $user ); break; } - } - - /** - * Get the HTML content from request and abstract the compression it may have. - * @return string The HTML content in the request. Decompressed, if it was compressed. - */ - protected function getHtml() { - $params = $this->extractRequestParams(); - $data = $params['html']; - - if ( substr( $params['html'], 0, 11 ) === 'rawdeflate,' ) { - $data = gzinflate( base64_decode( substr( $params[ 'html' ], 11 ) ) ); - // gzinflate returns false on error. - if ( $data === false ) { - throw new InvalidArgumentException( 'Invalid HTML content.' ); - } - } - - return $data; } public function getAllowedParams() { diff --git a/api/ApiContentTranslationSave.php b/api/ApiContentTranslationSave.php index 6933221..9924ff2 100644 --- a/api/ApiContentTranslationSave.php +++ b/api/ApiContentTranslationSave.php @@ -45,7 +45,10 @@ $translation = $this->saveTranslation( $params, $translator ); $translationId = $translation->getTranslationId(); - $translationUnits = $this->getTranslationUnits( $params['content'], $translationId ); + $translationUnits = $this->getTranslationUnits( + ApiVisualEditorEdit::tryDeflate( $params['content'] ), + $translationId + ); $this->saveTranslationUnits( $translationUnits, $translation ); $validationResults = $this->validateTranslationUnits( $translationUnits, $translation ); @@ -160,14 +163,6 @@ $translationUnits = []; if ( trim( $content ) === '' ) { $this->dieWithError( [ 'apierror-paramempty', 'content' ], 'invalidcontent' ); - } - - if ( substr( $content, 0, 11 ) === 'rawdeflate,' ) { - $content = gzinflate( base64_decode( substr( $content, 11 ) ) ); - // gzinflate returns false on error. - if ( $content === false ) { - $this->dieWithError( 'apierror-cx-invalidsectioncontent', 'invalidcontent' ); - } } $units = json_decode( $content, true ); -- To view, visit https://gerrit.wikimedia.org/r/378244 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib121e1a6ddbd3be876ab943486f3843c3681f6de Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/ContentTranslation Gerrit-Branch: master Gerrit-Owner: Esanders <esand...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits