2 namespace TYPO3\CMS\Scheduler\Task;
33 if (empty($taskInfo[
'scheduler_optimizeDatabaseTables_selectedTables'])) {
34 $taskInfo[
'scheduler_optimizeDatabaseTables_selectedTables'] = array();
35 if ($parentObject->CMD ===
'add') {
37 $taskInfo[
'scheduler_optimizeDatabaseTables_selectedTables'] = array();
38 }
elseif ($parentObject->CMD ===
'edit') {
40 $taskInfo[
'scheduler_optimizeDatabaseTables_selectedTables'] = $task->selectedTables;
43 $fieldName =
'tx_scheduler[scheduler_optimizeDatabaseTables_selectedTables][]';
44 $fieldId =
'scheduler_optimizeDatabaseTables_selectedTables';
46 $fieldHtml =
'<select class="form-control" name="' . $fieldName .
'" id="' . $fieldId .
'" class="from-control" size="10" multiple="multiple">' . $fieldOptions .
'</select>';
47 $additionalFields[$fieldId] = array(
49 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.optimizeDatabaseTables.selectTables',
50 'cshKey' =>
'_MOD_system_txschedulerM1',
51 'cshLabel' => $fieldId
53 return $additionalFields;
67 if (is_array($submittedData[
'scheduler_optimizeDatabaseTables_selectedTables'])) {
68 $invalidTables = array_diff($submittedData[
'scheduler_optimizeDatabaseTables_selectedTables'], $availableTables);
69 if (!empty($invalidTables)) {
70 $parentObject->addMessage(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.selectionOfNonExistingDatabaseTables'), \TYPO3\CMS\Core\Messaging\
FlashMessage::ERROR);
74 $parentObject->addMessage(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:msg.noDatabaseTablesSelected'), \TYPO3\CMS\Core\Messaging\
FlashMessage::ERROR);
89 $task->selectedTables = $submittedData[
'scheduler_optimizeDatabaseTables_selectedTables'];
102 foreach ($availableTables as $tableName => $tableInformation) {
103 $selected = in_array($tableName, $selectedTables,
true) ?
' selected="selected"' :
'';
104 $options[] =
'<option value="' . $tableName .
'"' . $selected .
'>' . $tableName .
'</option>';
106 return implode(
'', $options);
117 $tables = array_filter(
120 return !empty($table[
'Engine']) && in_array($table[
'Engine'], array(
'MyISAM',
'InnoDB',
'ARCHIVE'));