44 $additionalFields = [];
46 $additionalFields[
'task_tableGarbageCollection_table'] = $this->
getTableAdditionalField($taskInfo, $task, $schedulerModule);
48 return $additionalFields;
56 $tableConfiguration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'scheduler'][
'tasks'][TableGarbageCollectionTask::class][
'options'][
'tables'];
57 foreach ($tableConfiguration as $tableName => $configuration) {
58 if (isset($configuration[
'expirePeriod'])) {
59 $this->defaultNumberOfDays[$tableName] = $configuration[
'expirePeriod'];
77 $checked = $task->allTables ===
true ?
'checked="checked" ' :
'';
82 $fieldName =
'tx_scheduler[scheduler_tableGarbageCollection_allTables]';
83 $fieldId =
'task_tableGarbageCollection_allTables';
84 $fieldHtml =
'<div class="checkbox"><label><input type="checkbox" ' . $checked .
' name="' . $fieldName .
'" ' .
'id="' . $fieldId .
'"></label></div>';
85 $fieldConfiguration = [
87 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.tableGarbageCollection.allTables',
88 'cshKey' =>
'_MOD_system_txschedulerM1',
89 'cshLabel' => $fieldId
92 return $fieldConfiguration;
106 $tableConfiguration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'scheduler'][
'tasks'][TableGarbageCollectionTask::class][
'options'][
'tables'];
110 if (!array_key_exists($task->table, $tableConfiguration) && $currentSchedulerModuleAction->equals(
Action::EDIT)) {
111 $options[] =
'<option value="" selected="selected"></option>';
113 foreach ($tableConfiguration as $tableName => $configuration) {
114 if ($currentSchedulerModuleAction->equals(
Action::ADD) && empty($options)) {
116 $options[] =
'<option value="' . $tableName .
'" selected="selected">' . $tableName .
'</option>';
117 } elseif ($task->table === $tableName) {
119 $options[] =
'<option value="' . $tableName .
'" selected="selected">' . $tableName .
'</option>';
121 $options[] =
'<option value="' . $tableName .
'">' . $tableName .
'</option>';
124 $disabled = $task->allTables ===
true ?
' disabled="disabled"' :
'';
125 $fieldName =
'tx_scheduler[scheduler_tableGarbageCollection_table]';
126 $fieldId =
'task_tableGarbageCollection_table';
129 $fieldHtml[] =
'<select class="form-control" name="' . $fieldName .
'" ' . $disabled .
' id="' . $fieldId .
'">' . implode(LF, $options) .
'</select>';
131 $fieldHtml[] =
'<script type="text/javascript">/*<![CDATA[*/<!--';
132 $fieldHtml[] =
'var defaultNumberOfDays = ' . json_encode($this->defaultNumberOfDays) .
';';
133 $fieldHtml[] =
'// -->/*]]>*/</script>';
134 $fieldConfiguration = [
135 'code' => implode(LF, $fieldHtml),
136 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.tableGarbageCollection.table',
137 'cshKey' =>
'_MOD_system_txschedulerM1',
138 'cshLabel' => $fieldId
140 return $fieldConfiguration;
156 if (empty($taskInfo[
'scheduler_tableGarbageCollection_numberOfDays'])) {
157 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
159 $taskInfo[
'scheduler_tableGarbageCollection_numberOfDays'] = 180;
160 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
162 $taskInfo[
'scheduler_tableGarbageCollection_numberOfDays'] = $task->numberOfDays;
163 if ($task->numberOfDays === 0 && !isset($this->defaultNumberOfDays[$task->table])) {
164 $disabled =
' disabled="disabled"';
168 if ($task->allTables ===
true) {
169 $disabled =
' disabled="disabled"';
171 $fieldName =
'tx_scheduler[scheduler_tableGarbageCollection_numberOfDays]';
172 $fieldId =
'task_tableGarbageCollection_numberOfDays';
173 $fieldHtml =
'<input class="form-control" type="text" ' .
'name="' . $fieldName .
'" ' .
'id="' . $fieldId .
'" ' . $disabled .
'value="' . (int)$taskInfo[
'scheduler_tableGarbageCollection_numberOfDays'] .
'" ' .
'size="4">';
174 $fieldConfiguration = [
175 'code' => $fieldHtml,
176 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.tableGarbageCollection.numberOfDays',
177 'cshKey' =>
'_MOD_system_txschedulerM1',
178 'cshLabel' => $fieldId
180 return $fieldConfiguration;
207 if (!isset($submittedData[
'scheduler_tableGarbageCollection_allTables'])) {
209 } elseif ($submittedData[
'scheduler_tableGarbageCollection_allTables'] ===
'on') {
224 $tableConfiguration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'scheduler'][
'tasks'][TableGarbageCollectionTask::class][
'options'][
'tables'];
225 if (!isset($submittedData[
'scheduler_tableGarbageCollection_table'])) {
227 } elseif (array_key_exists($submittedData[
'scheduler_tableGarbageCollection_table'], $tableConfiguration)) {
242 if (!isset($submittedData[
'scheduler_tableGarbageCollection_numberOfDays'])) {
244 } elseif ((
int)$submittedData[
'scheduler_tableGarbageCollection_numberOfDays'] >= 0) {
261 $task->allTables = $submittedData[
'scheduler_tableGarbageCollection_allTables'] ===
'on';
262 $task->table = $submittedData[
'scheduler_tableGarbageCollection_table'];
263 $task->numberOfDays = (int)$submittedData[
'scheduler_tableGarbageCollection_numberOfDays'];