From 654d39ccbd6398ed39138ed2568050f6236061cf Mon Sep 17 00:00:00 2001 From: Markus Sommer <markussom@posteo.de> Date: Fri, 5 May 2017 13:48:09 +0200 Subject: [PATCH] [BUGFIX] DocumentEditController save with translation broken With changing the input type=image to input type=submit, the x/y values are no longer transferred the EditDocumentController checked for, and content is no longer saved. Adapt the controller code for the new parameters. Resolves: #76649 Releases: 8.7, master Change-Id: I921b92f1086e142592fc84083656c4baecd43aa7 Reviewed-on: https://review.typo3.org/52730 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by: Susanne Moog <susanne.moog@typo3.org> Tested-by: Susanne Moog <susanne.moog@typo3.org> --- .../Classes/Controller/EditDocumentController.php | 12 ++++++------ .../Resources/Public/JavaScript/SplitButtons.js | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/typo3/sysext/backend/Classes/Controller/EditDocumentController.php b/typo3/sysext/backend/Classes/Controller/EditDocumentController.php index 6a8e7063aeda..82fa866c2b0b 100644 --- a/typo3/sysext/backend/Classes/Controller/EditDocumentController.php +++ b/typo3/sysext/backend/Classes/Controller/EditDocumentController.php @@ -500,8 +500,8 @@ class EditDocumentController extends AbstractModule || isset($_POST['_saveandclosedok']) || isset($_POST['_savedokview']) || isset($_POST['_savedoknew']) - || isset($_POST['_translation_savedok_x']) - || isset($_POST['_translation_savedokclear_x']); + || isset($_POST['_translation_savedok']) + || isset($_POST['_translation_savedokclear']); return $out; } @@ -527,10 +527,10 @@ class EditDocumentController extends AbstractModule if (!empty($control)) { $tce->setControl($control); } - if (isset($_POST['_translation_savedok_x'])) { + if (isset($_POST['_translation_savedok'])) { $tce->updateModeL10NdiffData = 'FORCE_FFUPD'; } - if (isset($_POST['_translation_savedokclear_x'])) { + if (isset($_POST['_translation_savedokclear'])) { $tce->updateModeL10NdiffData = 'FORCE_FFUPD'; $tce->updateModeL10NdiffDataClear = true; } @@ -684,13 +684,13 @@ class EditDocumentController extends AbstractModule $this->previewData['table'] = $table; $this->previewData['id'] = $id; } - $tce->printLogErrorMessages(isset($_POST['_saveandclosedok']) || isset($_POST['_translation_savedok_x']) ? $this->retUrl : $this->R_URL_parts['path'] . '?' . GeneralUtility::implodeArrayForUrl('', $this->R_URL_getvars)); + $tce->printLogErrorMessages(isset($_POST['_saveandclosedok']) || isset($_POST['_translation_savedok']) ? $this->retUrl : $this->R_URL_parts['path'] . '?' . GeneralUtility::implodeArrayForUrl('', $this->R_URL_getvars)); } // || count($tce->substNEWwithIDs)... If any new items has been save, the document is CLOSED // because if not, we just get that element re-listed as new. And we don't want that! if ((int)$this->closeDoc < self::DOCUMENT_CLOSE_MODE_DEFAULT || isset($_POST['_saveandclosedok']) - || isset($_POST['_translation_savedok_x']) + || isset($_POST['_translation_savedok']) ) { $this->closeDocument(abs($this->closeDoc)); } diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/SplitButtons.js b/typo3/sysext/backend/Resources/Public/JavaScript/SplitButtons.js index 7c11585ca252..71fda54ac667 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/SplitButtons.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/SplitButtons.js @@ -37,7 +37,11 @@ define(['jquery', 'TYPO3/CMS/Backend/Icons'], function($, Icons) { 'button[name^="_save"]', 'a[data-name^="_save"]', 'button[name="CMD"][value^="save"]', - 'a[data-name="CMD"][data-value^="save"]' + 'a[data-name="CMD"][data-value^="save"]', + 'button[name^="_translation_save"]', + 'a[data-name^="_translation_save"]', + 'button[name="CMD"][value^="_translation_save"]', + 'a[data-name="CMD"][data-value^="_translation_save"]' ].join(','); $('.t3js-module-docheader').on('click', elements, function(e) { // prevent doubleclick double submission bug in chrome, -- GitLab