/** * @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); } }
/** * Update a node * * @param array $params The parameters for create a node */ public static function update($params) { if (isset($params['object_id'])) { $poller_id = $params['object_id']; } else { $poller_id = $params['poller_id']; } $result = PollerRepository::getNode($poller_id); if (!isset($result['node_id'])) { throw new Exception(sprintf('Could not find node id from poller id %s', $poller_id)); } $nodeId = $result['node_id']; $nodeParams = array(); if (isset($params['name'])) { $nodeParams['name'] = $params['name']; } if (isset($params['ip_address'])) { $nodeParams['ip_address'] = $params['ip_address']; } if (isset($params['enable'])) { $nodeParams['enable'] = $params['enable']; } Node::update($nodeId, $nodeParams); }
/** * Generate Form for the given poller using its template * * @param integer $pollerId * @return type * @throws Exception */ public static function getFormForPoller($pollerId) { $litePollerTemplate = PollerRepository::getTemplate($pollerId); $pollerForm = static::buildPollerTemplateForm($litePollerTemplate->toFullTemplate(), $pollerId); return $pollerForm; }
/** * Get default template for a poller * * @method post * @route /poller/[i:id]/templates/form */ public function getFormForTemplateAction() { $di = Di::getDefault(); $router = $di->get('router'); $params = $this->getParams(); PollerRepository::getPollerTemplates(); $pollerTemplateList = $di->get('pollerTemplate'); $myLiteTemplate = unserialize($pollerTemplateList[$params['name']]); $myTemplate = $myLiteTemplate->toFullTemplate(); $pollerId = null; if (isset($params['id'])) { $pollerId = $params['id']; } $router->response()->json($myTemplate->genForm($pollerId)); }
public static function hasChanged(&$resultSet) { foreach ($resultSet as &$engineServer) { $engineServer['hasChanged'] = PollerRepository::checkChangeState($engineServer['poller_id'], $engineServer['start_time']); } }
/** /** * @cmdObject string poller the poller slug * @cmdParam string action required the action */ public function applyAction($object, $param) { $exit = 1; $id = PollerRepository::getIdBySlugName($object['poller']); if (!is_null($id)) { $action = $param['action']; $obj = new ConfigApplyRepository($id); $obj->action($action); echo $obj->getOutput(); if ($obj->getStatus() === 1) { $exit = 0; } else { $exit = 1; } } else { \Centreon\Internal\Utils\CommandLine\InputOutput::display("Error : Poller not in Database", true, 'red'); $exit = 1; } exit($exit); }