From eeca448524d8250c1b6c12222d5ceb2a28d7eed1 Mon Sep 17 00:00:00 2001 From: nebrot Date: Tue, 18 Oct 2022 15:59:51 +0200 Subject: [PATCH 1/6] [TASK] Add TYPO3 12 compatibility --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 65e5780..dc4e922 100644 --- a/composer.json +++ b/composer.json @@ -9,8 +9,8 @@ } }, "require": { - "php": "^7. || ^8.0", - "typo3/cms-core": "^9.5 || ^10.2 || ^11.0" + "php": "^7.4 || ^8.0 || ^8.1", + "typo3/cms-core": "^11.0 || 12.0^" }, "extra": { "typo3/cms": { From ba6f2283fca772f98ef2992212463a603d88d724 Mon Sep 17 00:00:00 2001 From: nebrot Date: Tue, 18 Oct 2022 16:00:19 +0200 Subject: [PATCH 2/6] [TASK] Add TYPO3 12 compatibility --- ext_emconf.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext_emconf.php b/ext_emconf.php index 7fbac96..ba5e0a8 100644 --- a/ext_emconf.php +++ b/ext_emconf.php @@ -19,7 +19,7 @@ [ 'depends' => [ - 'typo3' => '9.5.0-11.5.99', + 'typo3' => '11.5.0-12.4.99', ], 'conflicts' => [], From 7e70d1e82d10c9c41745868afa8384b2966c9a21 Mon Sep 17 00:00:00 2001 From: nebrot Date: Tue, 18 Oct 2022 16:00:42 +0200 Subject: [PATCH 3/6] [TASK] Add TYPO3 12 compatibility --- ext_tables.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ext_tables.php b/ext_tables.php index 5fe88f1..de3ff1e 100644 --- a/ext_tables.php +++ b/ext_tables.php @@ -1,6 +1,4 @@ addSaveCloseButton'; From d3f0c78d39be43e5a591d812f6cab3afa7f27795 Mon Sep 17 00:00:00 2001 From: nebrot Date: Tue, 18 Oct 2022 16:01:37 +0200 Subject: [PATCH 4/6] [TASK] Remove Hook --- Classes/Hooks/SaveCloseHook.php | 54 --------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 Classes/Hooks/SaveCloseHook.php diff --git a/Classes/Hooks/SaveCloseHook.php b/Classes/Hooks/SaveCloseHook.php deleted file mode 100644 index c2c86a7..0000000 --- a/Classes/Hooks/SaveCloseHook.php +++ /dev/null @@ -1,54 +0,0 @@ -makeInputButton() - ->setName('_saveandclosedok') - ->setValue('1') - ->setForm($saveButton->getForm()) - ->setTitle($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:rm.saveCloseDoc')) - ->setIcon($iconFactory->getIcon('actions-document-save-close', Icon::SIZE_SMALL)) - ->setShowLabelText(true); - - $buttons[ButtonBar::BUTTON_POSITION_LEFT][2][] = $saveCloseButton; - } - return $buttons; - } - - /** - * Returns the language service - * @return LanguageService - */ - protected function getLanguageService() - { - return $GLOBALS['LANG']; - } -} From dcb119c8f07fa3ef8a5eb5c721c442a09aa74639 Mon Sep 17 00:00:00 2001 From: nebrot Date: Tue, 18 Oct 2022 16:03:19 +0200 Subject: [PATCH 5/6] [TASK] Add Event --- Classes/Provider/SaveCloseProvider.php | 47 ++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Classes/Provider/SaveCloseProvider.php diff --git a/Classes/Provider/SaveCloseProvider.php b/Classes/Provider/SaveCloseProvider.php new file mode 100644 index 0000000..51a9a97 --- /dev/null +++ b/Classes/Provider/SaveCloseProvider.php @@ -0,0 +1,47 @@ +getButtons(); + $saveButton = $buttons[ButtonBar::BUTTON_POSITION_LEFT][2][0] ?? null; + if ($saveButton instanceof InputButton) { + /** @var IconFactory $iconFactory */ + $iconFactory = GeneralUtility::makeInstance(IconFactory::class); + + $saveCloseButton = $event->getButtonBar()->makeInputButton() + ->setName('_saveandclosedok') + ->setValue('1') + ->setForm($saveButton->getForm()) + ->setTitle($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:rm.saveCloseDoc')) + ->setIcon($iconFactory->getIcon('actions-document-save-close', Icon::SIZE_SMALL)) + ->setShowLabelText(true); + + $buttons[ButtonBar::BUTTON_POSITION_LEFT][2][] = $saveCloseButton; + } + $event->setButtons($buttons); + } + + /** + * Returns the language service + * @return LanguageService + */ + protected function getLanguageService() + { + return $GLOBALS['LANG']; + } +} From c031ea9cf006409d3542c77722e588bc01fce039 Mon Sep 17 00:00:00 2001 From: nebrot Date: Tue, 18 Oct 2022 16:05:29 +0200 Subject: [PATCH 6/6] [TASK] Add Service.yaml with Event --- Configuration/Services.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Configuration/Services.yaml diff --git a/Configuration/Services.yaml b/Configuration/Services.yaml new file mode 100644 index 0000000..3910cdb --- /dev/null +++ b/Configuration/Services.yaml @@ -0,0 +1,12 @@ +services: + _defaults: + autowire: true + autoconfigure: true + public: false + + Goran\SaveCloseCe\: + resource: '../Classes/*' + Goran\SaveCloseCe\Provider\SaveCloseProvider: + tags: + - name: event.listener + identifier: 'save-close-to-button-bar'