43 $taskInfo[
'RecyclerCleanerTCA'] = $task->getTcaTables();
44 $taskInfo[
'RecyclerCleanerPeriod'] = $task->getPeriod();
47 $additionalFields[
'period'] = [
48 'code' =>
'<input type="text" class="form-control" name="tx_scheduler[RecyclerCleanerPeriod]" value="' . $taskInfo[
'RecyclerCleanerPeriod'] .
'">',
49 'label' =>
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskPeriod',
51 'cshLabel' =>
'task_recyclerCleaner_selectedPeriod'
54 $additionalFields[
'tca'] = [
56 'label' =>
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskTCA',
58 'cshLabel' =>
'task_recyclerCleaner_selectedTables'
61 return $additionalFields;
72 if (!is_array($selectedTables)) {
75 $tcaSelectHtml =
'<select name="tx_scheduler[RecyclerCleanerTCA][]" multiple="multiple" class="form-control" size="10">';
78 foreach (
$GLOBALS[
'TCA'] as $table => $tableConf) {
79 if (!empty($tableConf[
'ctrl'][
'delete'])) {
80 $selected = in_array($table, $selectedTables,
true) ?
' selected="selected"' :
'';
82 $options[$tableTitle .
' ' . $table] =
'<option' . $selected .
' value="' . $table .
'">' . htmlspecialchars($tableTitle .
' (' . $table .
')') .
'</option>';
87 $tcaSelectHtml .= implode(
'', $options);
88 $tcaSelectHtml .=
'</select>';
90 return $tcaSelectHtml;
105 return $validPeriod && $validTca;
131 $this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskErrorTCAempty'),
149 foreach (
$tca as $tcaTable) {
150 if (!isset(
$GLOBALS[
'TCA'][$tcaTable])) {
153 sprintf($this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskErrorTCANotSet'), $tcaTable),
172 if (!empty($period) && filter_var($period, FILTER_VALIDATE_INT) !==
false) {
176 $this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskErrorPeriod'),
179 $validPeriod =
false;
195 throw new \InvalidArgumentException(
196 'Expected a task of type ' . CleanerTask::class .
', but got ' . get_class($task),
201 $task->setTcaTables($submittedData[
'RecyclerCleanerTCA']);
202 $task->setPeriod($submittedData[
'RecyclerCleanerPeriod']);