/**
  * @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);
     }
 }
Пример #2
0
 /**
  * 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;
 }
Пример #4
0
 /**
  * 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));
 }
Пример #5
0
 public static function hasChanged(&$resultSet)
 {
     foreach ($resultSet as &$engineServer) {
         $engineServer['hasChanged'] = PollerRepository::checkChangeState($engineServer['poller_id'], $engineServer['start_time']);
     }
 }
Пример #6
0
 /**
 
     /**
 * @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);
 }