/** * @param Core\Events\ManageCommandOptions $event */ public static function execute(ManageCommandOptionsEvent $event) { $options = $event->getOptions(); $args = $event->getArgs(); $newInfos = array(); if ($event->getObjectName() == 'poller') { if ($event->getAction() == 'createAction' && isset($args['template'])) { $newInfos = PollerRepository::addCommandTemplateInfos($args['template']); } else { if ($event->getAction() == 'updateAction' && isset($args['poller'])) { $pollerIds = Poller::getIdByParameter('slug', array($args['poller'])); if (isset($pollerIds[0])) { $pollerId = $pollerIds[0]; $templateName = Poller::getParameters($pollerId, 'tmpl_name'); $newInfos = PollerRepository::addCommandTemplateInfos($templateName['tmpl_name']); } } } } foreach ($newInfos as $newInfo) { $newOption = array($newInfo['name'] => array('paramType' => 'params', 'help' => '', 'type' => 'string', 'toTransform' => $newInfo['name'], 'multiple' => '', 'required' => '0')); if (isset($newInfo['help'])) { $newOption[$newInfo['name']]['help'] = $newInfo['help']; } if (isset($newInfo['require']) && $newInfo['require'] == true && $event->getAction() == 'createAction') { $newOption[$newInfo['name']]['required'] = '1'; } $event->addOption($newOption); } }