TYPO3CMS  8
 All Classes Namespaces Files Functions Variables Pages
OptimizeDatabaseTableAdditionalFieldProvider Class Reference
Inheritance diagram for OptimizeDatabaseTableAdditionalFieldProvider:
AdditionalFieldProviderInterface

Public Member Functions

 getAdditionalFields (array &$taskInfo, $task, SchedulerModuleController $parentObject)
 
 validateAdditionalFields (array &$submittedData, SchedulerModuleController $parentObject)
 
 saveAdditionalFields (array $submittedData, AbstractTask $task)
 
- Public Member Functions inherited from AdditionalFieldProviderInterface
 getAdditionalFields (array &$taskInfo, $task,\TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $schedulerModule)
 
 validateAdditionalFields (array &$submittedData,\TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $schedulerModule)
 
 saveAdditionalFields (array $submittedData,\TYPO3\CMS\Scheduler\Task\AbstractTask $task)
 

Protected Member Functions

 getDatabaseTableOptions (array $selectedTables)
 
 getOptimizableTables ()
 
 getOptimizableTablesForConnection (Connection $connection, array $tableNames=[])
 

Protected Attributes

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

Detailed Description

Additional BE fields for optimize database table task.

Definition at line 27 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

Member Function Documentation

getAdditionalFields ( array &  $taskInfo,
  $task,
SchedulerModuleController  $parentObject 
)

Add a multi select box with all available database tables.

Parameters
array$taskInfoReference to the array containing the info used in the add/edit form
AbstractTask | NULL$taskWhen editing, reference to the current task. NULL when adding.
SchedulerModuleController$parentObjectReference to the calling object (Scheduler's BE module)
Returns
array Array containing all the information pertaining to the additional fields

Definition at line 42 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References OptimizeDatabaseTableAdditionalFieldProvider\getDatabaseTableOptions().

getDatabaseTableOptions ( array  $selectedTables)
protected

Build select options of available backends and set currently selected backends

Parameters
array$selectedTablesSelected backends
Returns
string HTML of selectbox options

Definition at line 125 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References OptimizeDatabaseTableAdditionalFieldProvider\getOptimizableTables().

Referenced by OptimizeDatabaseTableAdditionalFieldProvider\getAdditionalFields().

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.

Parameters
\TYPO3\CMS\Core\Database\Connection$connection
array$tableNames
Returns
array

Definition at line 190 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References Connection\createQueryBuilder(), and Connection\getServerVersion().

Referenced by OptimizeDatabaseTableAdditionalFieldProvider\getOptimizableTables().

saveAdditionalFields ( array  $submittedData,
AbstractTask  $task 
)

Save selected backends in task object

Parameters
array$submittedDataContains data submitted by the user
AbstractTask$taskReference to the current task object
Returns
void

Definition at line 114 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

validateAdditionalFields ( array &  $submittedData,
SchedulerModuleController  $parentObject 
)

Checks that all selected backends exist in available backend list

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

Definition at line 80 of file OptimizeDatabaseTableAdditionalFieldProvider.php.

References $GLOBALS, SchedulerModuleController\addMessage(), AbstractMessage\ERROR, and OptimizeDatabaseTableAdditionalFieldProvider\getOptimizableTables().

Member Data Documentation

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