Exemple #1
0
 /**
  * Gets a select field containing all possible CommandController actions
  *
  * @return array
  */
 protected function getCommandControllerActionField()
 {
     $commands = $this->commandManager->getAvailableCommands();
     $options = array();
     foreach ($commands as $command) {
         if ($command->isInternal() === FALSE) {
             $className = $command->getControllerClassName();
             if (strpos($className, '\\')) {
                 $classNameParts = explode('\\', $className);
                 // Skip vendor and product name for core classes
                 if (strpos($className, 'TYPO3\\CMS\\') === 0) {
                     $classPartsToSkip = 2;
                 } else {
                     $classPartsToSkip = 1;
                 }
                 $classNameParts = array_slice($classNameParts, $classPartsToSkip);
                 $extensionName = $classNameParts[0];
                 $controllerName = $classNameParts[2];
             } else {
                 $classNameParts = explode('_', $className);
                 $extensionName = $classNameParts[1];
                 $controllerName = $classNameParts[3];
             }
             $identifier = $command->getCommandIdentifier();
             $options[$identifier] = $extensionName . ' ' . str_replace('CommandController', '', $controllerName) . ': ' . $command->getControllerCommandName();
         }
     }
     $name = 'action';
     $currentlySelectedCommand = $this->task !== NULL ? $this->task->getCommandIdentifier() : NULL;
     return array('code' => $this->renderSelectField($name, $options, $currentlySelectedCommand), 'label' => $this->getActionLabel());
 }
 /**
  * Builds an index of available commands. For each of them a Command object is
  * added to the commands array of this class.
  *
  * @return void
  */
 protected function buildCommandsIndex()
 {
     $availableCommands = $this->commandManager->getAvailableCommands();
     foreach ($availableCommands as $command) {
         if ($command->isInternal()) {
             continue;
         }
         $commandIdentifier = $command->getCommandIdentifier();
         $extensionKey = strstr($commandIdentifier, ':', TRUE);
         $commandControllerClassName = $command->getControllerClassName();
         $commandName = $command->getControllerCommandName();
         $this->commandsByExtensionsAndControllers[$extensionKey][$commandControllerClassName][$commandName] = $command;
     }
 }
 /**
  * Make sure the objet manager is set
  *
  * @return \TYPO3\CMS\Extbase\Mvc\Cli\Command[]
  */
 public function getAvailableCommands()
 {
     $this->initialize();
     if ($this->availableCommands === NULL) {
         $commandControllerRegistry =& $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['extbase']['commandControllers'];
         if (!empty($commandControllerRegistry) && is_array($commandControllerRegistry)) {
             $commandControllerRegistry = array_merge($commandControllerRegistry, $this->commandControllers);
         } else {
             $commandControllerRegistry = $this->commandControllers;
         }
         $this->availableCommands = parent::getAvailableCommands();
     }
     return $this->availableCommands;
 }
 /**
  * Gets a select field containing all possible CommandController actions
  *
  * @return array
  */
 protected function getCommandControllerActionField()
 {
     $commands = $this->commandManager->getAvailableCommands();
     $options = array();
     foreach ($commands as $command) {
         if ($command->isInternal() === FALSE) {
             $classNameParts = explode('_', $command->getControllerClassName());
             $identifier = $command->getCommandIdentifier();
             $options[$identifier] = $classNameParts[1] . ' ' . str_replace('CommandController', '', $classNameParts[3]) . ': ' . $command->getControllerCommandName();
         }
     }
     $name = "action";
     $currentlySelectedCommand = $this->task !== NULL ? $this->task->getCommandIdentifier() : NULL;
     return array('code' => $this->renderSelectField($name, $options, $currentlySelectedCommand), 'label' => $this->getActionLabel());
 }