‪TYPO3CMS  ‪main
TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider Class Reference
Inheritance diagram for TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider:
TYPO3\CMS\Scheduler\AbstractAdditionalFieldProvider TYPO3\CMS\Scheduler\AdditionalFieldProviderInterface

Public Member Functions

array getAdditionalFields (array &$taskInfo, $task, SchedulerModuleController $schedulerModule)
 
bool validateAdditionalFields (array &$submittedData, SchedulerModuleController $schedulerModule)
 
 saveAdditionalFields (array $submittedData, AbstractTask $task)
 

Protected Member Functions

string getDatabaseTableOptions (array $selectedTables)
 
array getOptimizableTables ()
 
 getOptimizableTablesForConnection (Connection $connection, array $tableNames=[])
 
 getLanguageService ()
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Scheduler\AbstractAdditionalFieldProvider
 addMessage (string $message, ContextualFeedbackSeverity $severity=ContextualFeedbackSeverity::OK)
 

Protected Attributes

string $languageFile = 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf'
 

Detailed Description

Additional BE fields for optimize database table task.

This class is a specific scheduler task implementation is not considered part of the Public TYPO3 API.

Definition at line 33 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

Member Function Documentation

◆ getAdditionalFields()

array TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::getAdditionalFields ( array &  $taskInfo,
  $task,
SchedulerModuleController  $schedulerModule 
)

Add a multi select box with all available database tables.

Parameters
array$taskInfo‪Reference to the array containing the info used in the add/edit form
OptimizeDatabaseTableTask | null$task‪When editing, reference to the current task. NULL when adding.
SchedulerModuleController$schedulerModule‪Reference to the calling object (Scheduler's BE module)
Returns
‪array Array containing all the information pertaining to the additional fields

Implements TYPO3\CMS\Scheduler\AdditionalFieldProviderInterface.

Definition at line 47 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References TYPO3\CMS\Scheduler\Controller\SchedulerModuleController\getCurrentAction(), and TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider\getDatabaseTableOptions().

◆ getDatabaseTableOptions()

string TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::getDatabaseTableOptions ( array  $selectedTables)
protected

Build select options of available backends and set currently selected backends

Parameters
array$selectedTables‪Selected backends
Returns
‪string HTML of selectbox options

Definition at line 130 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider\getOptimizableTables().

Referenced by TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider\getAdditionalFields().

◆ getLanguageService()

TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::getLanguageService ( )
protected

◆ getOptimizableTables()

array TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::getOptimizableTables ( )
protected

◆ getOptimizableTablesForConnection()

TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::getOptimizableTablesForConnection ( Connection  $connection,
array  $tableNames = [] 
)
protected

Retrieve all optimizable tables for a connection, optionally restricted to the subset of table names in the $tableNames array.

Definition at line 189 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References TYPO3\CMS\Core\Database\Connection\createQueryBuilder(), and TYPO3\CMS\Core\Database\Connection\PARAM_STR_ARRAY.

Referenced by TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider\getOptimizableTables().

◆ saveAdditionalFields()

TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::saveAdditionalFields ( array  $submittedData,
AbstractTask  $task 
)

Save selected backends in task object

Parameters
array$submittedData‪Contains data submitted by the user
OptimizeDatabaseTableTask$task‪Reference to the current task object

Implements TYPO3\CMS\Scheduler\AdditionalFieldProviderInterface.

Definition at line 119 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

◆ validateAdditionalFields()

bool TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::validateAdditionalFields ( array &  $submittedData,
SchedulerModuleController  $schedulerModule 
)

Checks that all selected backends exist in available backend list

Parameters
array$submittedData‪Reference to the array containing the data submitted by the user
SchedulerModuleController$schedulerModule‪Reference to the calling object (Scheduler's BE module)
Returns
‪bool TRUE if validation was ok (or selected class is not relevant), FALSE otherwise

Implements TYPO3\CMS\Scheduler\AdditionalFieldProviderInterface.

Definition at line 86 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References TYPO3\CMS\Scheduler\AbstractAdditionalFieldProvider\addMessage(), TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider\getLanguageService(), and TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider\getOptimizableTables().

Member Data Documentation

◆ $languageFile

string TYPO3\CMS\Scheduler\Task\OptimizeDatabaseTableAdditionalFieldProvider::$languageFile = 'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf'
protected