コード例 #1
0
 /**
  * Gets additional fields to render in the form to add/edit a task.
  *
  * Two extra fields are provided. One is used to define the context (FE, BE or both)
  * and one to select a LDAP configuration (or all).
  *
  * @param array $taskInfo Values of the fields from the add/edit task form
  * @param \TYPO3\CMS\Scheduler\Task\AbstractTask $task The task object being edited. Null when adding a task!
  * @param \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $schedulerModule Reference to the scheduler backend module
  * @return array A two dimensional array, array('Identifier' => array('fieldId' => array('code' => '', 'label' => '', 'cshKey' => '', 'cshLabel' => ''))
  */
 public function getAdditionalFields(array &$taskInfo, $task, \TYPO3\CMS\Scheduler\Controller\SchedulerModuleController $schedulerModule)
 {
     /** @var \Causal\IgLdapSsoAuth\Task\ImportUsers $task */
     $additionalFields = array();
     // Process the mode field
     $parameters = array('field' => 'mode', 'label' => 'task.import_users.field.mode', 'options' => array('import' => 'LLL:task.import_users.field.mode.import', 'sync' => 'LLL:task.import_users.field.mode.sync'), 'value' => $task ? $task->getMode() : NULL, 'css' => 'wide');
     $this->registerSelect($taskInfo, $schedulerModule->CMD, $parameters, $additionalFields);
     // Process the context field
     $parameters = array('field' => 'context', 'label' => 'task.import_users.field.context', 'options' => array('both' => 'LLL:task.import_users.field.context.both', 'FE' => 'LLL:task.import_users.field.context.fe', 'BE' => 'LLL:task.import_users.field.context.be'), 'value' => $task ? $task->getContext() : NULL);
     $this->registerSelect($taskInfo, $schedulerModule->CMD, $parameters, $additionalFields);
     // Process the configuration field
     $parameters = array('field' => 'configuration', 'label' => 'task.import_users.field.configuration', 'options' => array(0 => 'LLL:task.import_users.field.configuration.all'), 'value' => $task ? $task->getConfiguration() : NULL);
     // Get the existing LDAP configurations
     /** @var \Causal\IgLdapSsoAuth\Domain\Repository\ConfigurationRepository $configurationRepository */
     $configurationRepository = GeneralUtility::makeInstance('Causal\\IgLdapSsoAuth\\Domain\\Repository\\ConfigurationRepository');
     $ldapConfigurations = $configurationRepository->findAll();
     foreach ($ldapConfigurations as $configuration) {
         $uid = $configuration->getUid();
         $parameters['options'][$uid] = $configuration->getName();
     }
     $this->registerSelect($taskInfo, $schedulerModule->CMD, $parameters, $additionalFields);
     // Process the missing user handling field
     $parameters = array('field' => 'missinguserhandling', 'label' => 'task.import_users.field.missinguserhandling', 'options' => array('nothing' => 'LLL:task.import_users.field.missinguserhandling.nothing', 'disable' => 'LLL:task.import_users.field.missinguserhandling.disable', 'delete' => 'LLL:task.import_users.field.missinguserhandling.delete'), 'value' => $task ? $task->getMissingUsersHandling() : NULL);
     $this->registerSelect($taskInfo, $schedulerModule->CMD, $parameters, $additionalFields);
     // Process the restored user handling field
     $parameters = array('field' => 'restoreduserhandling', 'label' => 'task.import_users.field.restoreduserhandling', 'options' => array('nothing' => 'LLL:task.import_users.field.restoreduserhandling.nothing', 'enable' => 'LLL:task.import_users.field.restoreduserhandling.enable', 'undelete' => 'LLL:task.import_users.field.restoreduserhandling.undelete', 'both' => 'LLL:task.import_users.field.restoreduserhandling.both'), 'value' => $task ? $task->getRestoredUsersHandling() : NULL);
     $this->registerSelect($taskInfo, $schedulerModule->CMD, $parameters, $additionalFields);
     return $additionalFields;
 }