2 namespace TYPO3\CMS\Recycler\Task;
37 if ($schedulerModule->CMD ===
'edit') {
38 $taskInfo[
'RecyclerCleanerTCA'] = $task->getTcaTables();
39 $taskInfo[
'RecyclerCleanerPeriod'] = $task->getPeriod();
42 $additionalFields[
'period'] = array(
43 'code' =>
'<input type="text" class="form-control" name="tx_scheduler[RecyclerCleanerPeriod]" value="' . $taskInfo[
'RecyclerCleanerPeriod'] .
'">',
44 'label' =>
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskPeriod',
46 'cshLabel' =>
'task_recyclerCleaner_selectedPeriod'
49 $additionalFields[
'tca'] = array(
51 'label' =>
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskTCA',
53 'cshLabel' =>
'task_recyclerCleaner_selectedTables'
56 return $additionalFields;
67 if (!is_array($selectedTables)) {
68 $selectedTables = array();
70 $tcaSelectHtml =
'<select name="tx_scheduler[RecyclerCleanerTCA][]" multiple="multiple" class="form-control" size="10">';
73 foreach (
$GLOBALS[
'TCA'] as $table => $tableConf) {
74 if (!$tableConf[
'ctrl'][
'adminOnly'] && !empty($tableConf[
'ctrl'][
'delete'])) {
75 $selected = in_array($table, $selectedTables,
true) ?
' selected="selected"' :
'';
77 $options[$tableTitle] =
'<option' . $selected .
' value="' . $table .
'">' . htmlspecialchars($tableTitle .
' (' . $table .
')') .
'</option>';
82 $tcaSelectHtml .= implode(
'', $options);
83 $tcaSelectHtml .=
'</select>';
85 return $tcaSelectHtml;
100 return $validPeriod && $validTca;
124 if (is_array(
$tca) && !empty(
$tca)) {
128 $this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskErrorTCAempty',
true),
147 foreach ($tca as $tcaTable) {
148 if (!isset(
$GLOBALS[
'TCA'][$tcaTable])) {
151 sprintf($this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang_tasks.xlf:cleanerTaskErrorTCANotSet',
true), $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',
true),
179 $validPeriod =
false;
196 throw new \InvalidArgumentException(
197 'Expected a task of type \TYPO3\CMS\Recycler\Task\CleanerTask, but got ' . get_class($task),
202 $task->setTcaTables($submittedData[
'RecyclerCleanerTCA']);
203 $task->setPeriod($submittedData[
'RecyclerCleanerPeriod']);