‪TYPO3CMS  11.5
ext_localconf.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
27 
28 defined('TYPO3') or die();
29 
30 // Get the extensions's configuration
31 ‪$showSampleTasks = (bool)‪GeneralUtility::makeInstance(
33 )->get('scheduler', 'showSampleTasks');
34 // If sample tasks should be shown,
35 // register information for the test and sleep tasks
37  ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TestTask::class] = [
38  'extension' => 'scheduler',
39  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:testTask.name',
40  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:testTask.description',
41  'additionalFields' => TestTaskAdditionalFieldProvider::class,
42  ];
43  ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][SleepTask::class] = [
44  'extension' => 'scheduler',
45  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:sleepTask.name',
46  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:sleepTask.description',
47  'additionalFields' => SleepTaskAdditionalFieldProvider::class,
48  ];
49 }
50 unset(‪$showSampleTasks);
51 
52 // Add caching framework garbage collection task
53 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][CachingFrameworkGarbageCollectionTask::class] = [
54  'extension' => 'scheduler',
55  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:cachingFrameworkGarbageCollection.name',
56  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:cachingFrameworkGarbageCollection.description',
57  'additionalFields' => CachingFrameworkGarbageCollectionAdditionalFieldProvider::class,
58 ];
59 
60 // Add task to index file in a storage
61 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][FileStorageIndexingTask::class] = [
62  'extension' => 'scheduler',
63  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:fileStorageIndexing.name',
64  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:fileStorageIndexing.description',
65  'additionalFields' => FileStorageIndexingAdditionalFieldProvider::class,
66 ];
67 
68 // Add task for extracting metadata from files in a storage
69 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][FileStorageExtractionTask::class] = [
70  'extension' => 'scheduler',
71  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:fileStorageExtraction.name',
72  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:fileStorageExtraction.description',
73  'additionalFields' => FileStorageExtractionAdditionalFieldProvider::class,
74 
75 ];
76 
77 // Add recycler directory cleanup task
78 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][RecyclerGarbageCollectionTask::class] = [
79  'extension' => 'scheduler',
80  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:recyclerGarbageCollection.name',
81  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:recyclerGarbageCollection.description',
82  'additionalFields' => RecyclerGarbageCollectionAdditionalFieldProvider::class,
83 ];
84 
85 // Add execute schedulable command task
86 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][ExecuteSchedulableCommandTask::class] = [
87  'extension' => 'scheduler',
88  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:executeSchedulableCommandTask.name',
89  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:executeSchedulableCommandTask.name',
90  'additionalFields' => ExecuteSchedulableCommandAdditionalFieldProvider::class,
91 ];
92 
93 // Save any previous option array for table garbage collection task
94 // to temporary variable so it can be pre-populated by other
95 // extensions and LocalConfiguration/AdditionalConfiguration
96 ‪$garbageCollectionTaskOptions = ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options'] ?? [];
98 // Add table garbage collection task
99 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class] = [
100  'extension' => 'scheduler',
101  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:tableGarbageCollection.name',
102  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:tableGarbageCollection.description',
103  'additionalFields' => TableGarbageCollectionAdditionalFieldProvider::class,
105 ];
107 
108 // Register sys_log and sys_history table in table garbage collection task
109 if (!is_array(‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']['sys_log'] ?? false)) {
110  ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']['sys_log'] = [
111  'dateField' => 'tstamp',
112  'expirePeriod' => 180,
113  ];
114 }
115 
116 if (!is_array(‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']['sys_history'] ?? false)) {
117  ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']['sys_history'] = [
118  'dateField' => 'tstamp',
119  'expirePeriod' => 30,
120  ];
121 }
122 
123 // Save any previous option array for ip anonymization task
124 // to temporary variable so it can be pre-populated by other
125 // extensions and LocalConfiguration/AdditionalConfiguration
126 ‪$ipAnonymizeCollectionTaskOptions = ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][IpAnonymizationTask::class]['options'] ?? [];
128 // Add ip anonymization task
129 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][IpAnonymizationTask::class] = [
130  'extension' => 'scheduler',
131  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:ipAnonymization.name',
132  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:ipAnonymization.description',
133  'additionalFields' => IpAnonymizationAdditionalFieldProvider::class,
135 ];
137 
138 if (!is_array(‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][IpAnonymizationTask::class]['options']['tables']['sys_log'] ?? false)) {
139  ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][IpAnonymizationTask::class]['options']['tables']['sys_log'] = [
140  'dateField' => 'tstamp',
141  'ipField' => 'IP',
142  ];
143 }
144 
145 // Add task for optimizing database tables
146 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][OptimizeDatabaseTableTask::class] = [
147  'extension' => 'scheduler',
148  'title' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:optimizeDatabaseTable.name',
149  'description' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:optimizeDatabaseTable.description',
150  'additionalFields' => OptimizeDatabaseTableAdditionalFieldProvider::class,
151 
152 ];
153 
154 // Available frequency options
155 ‪$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['frequencyOptions'] = [
156  '0 9,15 * * 1-5' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example1',
157  '0 */2 * * *' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example2',
158  '*/20 * * * *' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example3',
159  '0 7 * * 2' => 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:command.example4',
160 ];
‪TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask
Definition: TableGarbageCollectionTask.php:34
‪TYPO3\CMS\Scheduler\Task\RecyclerGarbageCollectionAdditionalFieldProvider
Definition: RecyclerGarbageCollectionAdditionalFieldProvider.php:32
‪TYPO3\CMS\Scheduler\Task\IpAnonymizationTask
Definition: IpAnonymizationTask.php:36
‪TYPO3\CMS\Scheduler\Task\IpAnonymizationAdditionalFieldProvider
Definition: IpAnonymizationAdditionalFieldProvider.php:29
‪TYPO3\CMS\Scheduler\Task\FileStorageExtractionTask
Definition: FileStorageExtractionTask.php:28
‪TYPO3\CMS\Core\Configuration\ExtensionConfiguration
Definition: ExtensionConfiguration.php:45
‪TYPO3\CMS\Scheduler\Task\CachingFrameworkGarbageCollectionAdditionalFieldProvider
Definition: CachingFrameworkGarbageCollectionAdditionalFieldProvider.php:31
‪TYPO3\CMS\Scheduler\Task\ExecuteSchedulableCommandAdditionalFieldProvider
Definition: ExecuteSchedulableCommandAdditionalFieldProvider.php:38
‪TYPO3\CMS\Scheduler\Task\CachingFrameworkGarbageCollectionTask
Definition: CachingFrameworkGarbageCollectionTask.php:30
‪TYPO3\CMS\Scheduler\Task\ExecuteSchedulableCommandTask
Definition: ExecuteSchedulableCommandTask.php:32
‪TYPO3\CMS\Scheduler\Example\TestTask
Definition: TestTask.php:31
‪TYPO3\CMS\Scheduler\Example\SleepTaskAdditionalFieldProvider
Definition: SleepTaskAdditionalFieldProvider.php:30
‪TYPO3\CMS\Scheduler\Example\SleepTask
Definition: SleepTask.php:26
‪TYPO3\CMS\Scheduler\Task\FileStorageIndexingTask
Definition: FileStorageIndexingTask.php:28
‪TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableTask
Definition: OptimizeDatabaseTableTask.php:31
‪TYPO3\CMS\Scheduler\Example\TestTaskAdditionalFieldProvider
Definition: TestTaskAdditionalFieldProvider.php:30
‪TYPO3\CMS\Scheduler\Task\FileStorageIndexingAdditionalFieldProvider
Definition: FileStorageIndexingAdditionalFieldProvider.php:30
‪TYPO3\CMS\Scheduler\Task\FileStorageExtractionAdditionalFieldProvider
Definition: FileStorageExtractionAdditionalFieldProvider.php:32
‪TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider
Definition: OptimizeDatabaseTableAdditionalFieldProvider.php:32
‪TYPO3\CMS\Scheduler\Task\RecyclerGarbageCollectionTask
Definition: RecyclerGarbageCollectionTask.php:34
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪$ipAnonymizeCollectionTaskOptions
‪if(!is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']['sys_log'] ?? false)) if(!is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']['sys_history'] ?? false)) $ipAnonymizeCollectionTaskOptions
Definition: ext_localconf.php:126
‪if
‪if(PHP_SAPI !=='cli')
Definition: checkNamespaceIntegrity.php:25
‪TYPO3\CMS\Scheduler\Task\TableGarbageCollectionAdditionalFieldProvider
Definition: TableGarbageCollectionAdditionalFieldProvider.php:30
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50
‪$garbageCollectionTaskOptions
‪$garbageCollectionTaskOptions
Definition: ext_localconf.php:96
‪$showSampleTasks
‪$showSampleTasks
Definition: ext_localconf.php:31