2 namespace TYPO3\CMS\Scheduler\Task;
34 if (empty($taskInfo[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'])) {
35 $taskInfo[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'] = array();
36 if ($parentObject->CMD ===
'add') {
38 if (in_array(\TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend::class, $this->
getRegisteredBackends())) {
39 $taskInfo[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'][] = \TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend::class;
41 }
elseif ($parentObject->CMD ===
'edit') {
43 $taskInfo[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'] = $task->selectedBackends;
46 $fieldName =
'tx_scheduler[scheduler_cachingFrameworkGarbageCollection_selectedBackends][]';
47 $fieldId =
'task_cachingFrameworkGarbageCollection_selectedBackends';
48 $fieldOptions = $this->
getCacheBackendOptions($taskInfo[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends']);
49 $fieldHtml =
'<select class="form-control" name="' . $fieldName .
'" id="' . $fieldId .
'" class="from-control" size="10" multiple="multiple">' . $fieldOptions .
'</select>';
50 $additionalFields[$fieldId] = array(
52 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.cachingFrameworkGarbageCollection.selectBackends',
53 'cshKey' =>
'_MOD_system_txschedulerM1',
54 'cshLabel' => $fieldId
56 return $additionalFields;
70 if (is_array($submittedData[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'])) {
71 $invalidBackends = array_diff($submittedData[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'], $availableBackends);
72 if (!empty($invalidBackends)) {
73 $parentObject->addMessage(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.selectionOfNonExistingCacheBackends'), \TYPO3\CMS\Core\Messaging\
FlashMessage::ERROR);
77 $parentObject->addMessage(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.noCacheBackendSelected'), \TYPO3\CMS\Core\Messaging\
FlashMessage::ERROR);
92 $task->selectedBackends = $submittedData[
'scheduler_cachingFrameworkGarbageCollection_selectedBackends'];
105 foreach ($availableBackends as $backendName) {
106 if (in_array($backendName, $selectedBackends)) {
107 $selected =
' selected="selected"';
111 $options[] =
'<option value="' . $backendName .
'"' . $selected .
'>' . $backendName .
'</option>';
113 return implode(
'', $options);
124 $cacheConfigurations =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'caching'][
'cacheConfigurations'];
125 if (is_array($cacheConfigurations)) {
126 foreach ($cacheConfigurations as $cacheConfiguration) {
127 $backend = $cacheConfiguration[
'backend'];
128 if (!in_array($backend, $backends)) {
129 $backends[] = $backend;