Skip to content

Commit

Permalink
[TASK] Compatibility with TYPO3 11-12
Browse files Browse the repository at this point in the history
  • Loading branch information
Apen committed Jul 20, 2023
1 parent c463bcd commit b956443
Show file tree
Hide file tree
Showing 12 changed files with 38 additions and 54 deletions.
29 changes: 13 additions & 16 deletions Classes/BaseAdditionalFieldProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@
* LICENSE.txt file that was distributed with this source code.
*/

use TYPO3\CMS\Core\Information\Typo3Version;
use TYPO3\CMS\Core\Messaging\FlashMessage;
use TYPO3\CMS\Core\Messaging\FlashMessageService;
use TYPO3\CMS\Core\Type\ContextualFeedbackSeverity;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Scheduler\AbstractAdditionalFieldProvider;
use TYPO3\CMS\Scheduler\Controller\SchedulerModuleController;
Expand All @@ -30,7 +32,6 @@ abstract class BaseAdditionalFieldProvider extends AbstractAdditionalFieldProvid
/**
* The locallang path
*
* @see BaseAdditionalFieldProvider::addMessage()
* @var string
*/
protected $locallangPath = 'LLL:EXT:additional_scheduler/Resources/Private/Language/locallang.xlf';
Expand Down Expand Up @@ -151,21 +152,17 @@ public function saveAdditionalFields(array $submittedData, AbstractTask $task):
}
}

/**
* Shortcut to add error message
*/
protected function addMessage(string $message, int $severity = FlashMessage::OK): void
{
protected function addErrorMessage (string $message, ...$values) {
$message = $GLOBALS['LANG']->sL($this->locallangPath . ':' . $message);
$flashMessage = GeneralUtility::makeInstance(
FlashMessage::class,
$message,
'',
$severity,
true
);
$service = GeneralUtility::makeInstance(FlashMessageService::class);
$flashMessageQueue = $service->getMessageQueueByIdentifier();
$flashMessageQueue->enqueue($flashMessage);
if (!empty($values)) {
$message = sprintf($message, ...$values);
}
$version = GeneralUtility::makeInstance(Typo3Version::class)->getMajorVersion();
if ($version === 11) {
$this->addMessage($message, FlashMessage::ERROR);
} else {
$this->addMessage($message, ContextualFeedbackSeverity::ERROR);
}
}

}
2 changes: 1 addition & 1 deletion Classes/Tasks/Cleart3tempFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
{
$result = true;
if (!isset($submittedData[$this->getFieldName('nbdays')])) {
$this->addMessage('nbdayserror', FlashMessage::ERROR);
$this->addErrorMessage('nbdayserror');
$result = false;
}

Expand Down
8 changes: 0 additions & 8 deletions Classes/Tasks/Cleart3tempTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,7 @@ public function execute(): bool
$this->stats['nbfilesdeleted'] = 0;
$this->stats['nbfilesdeletedsize'] = 0;
$this->stats['nbdirectories'] = 0;

$this->emptyDirectory(Utils::getPathSite() . 'typo3temp', (int)$this->nbdays);

if (defined('TYPO3_cliMode') && TYPO3_cliMode) {
echo 'Nb files: ' . $this->stats['nbfiles'] . ' (' . $this->stats['nbfilessize'] . ' ko)' . LF;
echo 'Nb files deleted: ' . $this->stats['nbfilesdeleted'] . ' (' . $this->stats['nbfilesdeletedsize'] . ' ko)' . LF;
echo 'Nb directories: ' . $this->stats['nbdirectories'] . LF;
}

return true;
}

Expand Down
7 changes: 3 additions & 4 deletions Classes/Tasks/ExecFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
$result = true;
$pathFieldName = $this->getFieldName('execdir');
if (empty($submittedData[$pathFieldName])) {
$this->addMessage('execdirerror', FlashMessage::ERROR);
$this->addErrorMessage('execdirerror');
$result = false;
}

Expand All @@ -35,12 +35,11 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
}

if (!empty($script[0]) && !is_executable($script[0])) {
$this->addMessage(
$this->addErrorMessage(
sprintf(
$GLOBALS['LANG']->sL($this->locallangPath . ':mustbeexecutable'),
$submittedData['additionalscheduler_exec_path']
),
FlashMessage::ERROR
)
);
$result = false;
}
Expand Down
2 changes: 1 addition & 1 deletion Classes/Tasks/ExecqueryFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
{
$result = true;
if (empty($submittedData[$this->getFieldName('query')])) {
$this->addMessage('savedirerror', FlashMessage::ERROR);
$this->addErrorMessage('savedirerror');
$result = false;
}

Expand Down
2 changes: 1 addition & 1 deletion Classes/Tasks/Query2csvFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
{
$result = true;
if (empty($submittedData[$this->getFieldName('query')])) {
$this->addMessage('query.error.required', FlashMessage::ERROR);
$this->addErrorMessage('query.error.required');
$result = false;
}

Expand Down
7 changes: 4 additions & 3 deletions Classes/Tasks/SavewebsiteFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Sng\Additionalscheduler\BaseAdditionalFieldProvider;
use Sng\Additionalscheduler\Utils;
use TYPO3\CMS\Core\Messaging\FlashMessage;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Scheduler\Controller\SchedulerModuleController;

class SavewebsiteFields extends BaseAdditionalFieldProvider
Expand All @@ -24,14 +25,14 @@ public function validateAdditionalFields(array &$submittedData, SchedulerModuleC
// check dir is writable
$pathFieldName = $this->getFieldName('savedir');
if ((empty($submittedData[$pathFieldName])) || (!is_writable($submittedData[$pathFieldName]))) {
$this->addMessage('savedirerror', FlashMessage::ERROR);
$this->addErrorMessage('savedirerror');
$result = false;
}

// check save script is executable
$saveScript = Utils::getPathSite() . 'typo3conf/ext/additional_scheduler/Resources/Shell/save_typo3_website.sh';
$saveScript = GeneralUtility::getFileAbsFileName('EXT:additional_scheduler/Resources/Shell/save_typo3_website.sh');
if (!is_executable($saveScript)) {
$this->addMessage(sprintf($GLOBALS['LANG']->sL($this->locallangPath . ':mustbeexecutable'), $saveScript), FlashMessage::ERROR);
$this->addErrorMessage('mustbeexecutable', $saveScript);
$result = false;
}

Expand Down
3 changes: 2 additions & 1 deletion Classes/Tasks/SavewebsiteTask.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

use Sng\Additionalscheduler\BaseEmailTask;
use Sng\Additionalscheduler\Utils;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class SavewebsiteTask extends BaseEmailTask
{
Expand All @@ -26,7 +27,7 @@ class SavewebsiteTask extends BaseEmailTask
public function execute()
{
// exec SH
$saveScript = Utils::getPathSite() . 'typo3conf/ext/additional_scheduler/Resources/Shell/save_typo3_website.sh';
$saveScript = GeneralUtility::getFileAbsFileName('EXT:additional_scheduler/Resources/Shell/save_typo3_website.sh');
if (!is_executable($saveScript)) {
throw new \ErrorException($saveScript . ' must be executable');
}
Expand Down
File renamed without changes
10 changes: 5 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@
],
"license": "GPL-2.0+",
"require": {
"php": "^7.2||^8.0||^8.1",
"typo3/cms-core": "^10||^11",
"typo3/cms-scheduler": "^10||^11"
"php": "^7.4||^8.0||^8.1",
"typo3/cms-core": "^11||^12",
"typo3/cms-scheduler": "^11||^12"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3",
"saschaegerer/phpstan-typo3": "^1",
"phpstan/phpstan": "^1",
"typo3/testing-framework": "7.x-dev",
"typo3/testing-framework": "dev-main",
"ssch/typo3-rector": "^1",
"symplify/easy-coding-standard": "^11",
"helmich/typo3-typoscript-lint": "^2"
"helmich/typo3-typoscript-lint": "^3"
},
"autoload": {
"psr-4": {
Expand Down
5 changes: 2 additions & 3 deletions ext_emconf.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@
$EM_CONF['additional_scheduler'] = [
'title' => 'Useful tasks in scheduler module',
'description' => 'Useful tasks in the scheduler module : full backup, send query result in mail, exec SH script with reports...',
'category' => 'misc',
'version' => '1.5.9',
'version' => '1.6.0',
'state' => 'stable',
'clearCacheOnLoad' => true,
'author' => 'CERDAN Yohann',
'author_email' => 'cerdanyohann@yahoo.fr',
'author_company' => '',
'constraints' => [
'depends' => [
'typo3' => '10.4.0-11.5.99',
'typo3' => '11.5.0-12.4.99',
],
'conflicts' => [],
'suggests' => [],
Expand Down
17 changes: 6 additions & 11 deletions ext_localconf.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

if (!defined('TYPO3_MODE')) {
if (!defined('TYPO3')) {
die('Access denied.');
}

Expand All @@ -9,14 +9,9 @@

foreach ($tasks as $task) {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['Sng\\Additionalscheduler\\Tasks\\' . $task . 'Task'] = [
'extension' => 'additional_scheduler',
'title' => 'LLL:EXT:additional_scheduler/Resources/Private/Language/locallang.xlf:task.' . strtolower($task) . '.name',
'description' => 'LLL:EXT:additional_scheduler/Resources/Private/Language/locallang.xlf:task.' . strtolower($task) . '.description',
'additionalFields' => 'Sng\\Additionalscheduler\\Tasks\\' . $task . 'Fields'
'extension' => 'additional_scheduler',
'title' => 'LLL:EXT:additional_scheduler/Resources/Private/Language/locallang.xlf:task.' . strtolower($task) . '.name',
'description' => 'LLL:EXT:additional_scheduler/Resources/Private/Language/locallang.xlf:task.' . strtolower($task) . '.description',
'additionalFields' => 'Sng\\Additionalscheduler\\Tasks\\' . $task . 'Fields',
];
}

if (TYPO3_MODE === 'BE') {
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers']['additional_scheduler-additional_scheduler'] =
\Sng\Additionalscheduler\Command\AdditionalSchedulerCommandController::class;
}
}

0 comments on commit b956443

Please sign in to comment.