/** * Generate modules configuration files * @param array $filesList * @param int $pollerId * @param string $path * @param object $event * @return value */ public function generate(&$filesList, $pollerId, $path, $event) { $di = Di::getDefault(); /* Get Database Connexion */ $dbconn = $di->get('db_centreon'); $modules = array(); /* Retrieve broker modules */ $events = Di::getDefault()->get('events'); $moduleEvent = new BrokerModuleEvent($pollerId); $events->emit('centreon-configuration.broker.module', array($moduleEvent)); $brokerModules = $moduleEvent->getModules(); foreach ($brokerModules as $brokerModule) { $modules[]['broker_module'] = $brokerModule; } /* External command module */ $moduleDir = Engine::getParameters($pollerId, 'module_dir'); $modules[]['broker_module'] = rtrim($moduleDir['module_dir'], '/') . '/externalcmd.so'; /* Write modules configuration files */ foreach ($modules as $module) { $filename = preg_match('/\\/?(\\w+)\\.so/', $module['broker_module'], $matches); if (!empty($matches[1])) { WriteConfigFile::writeParamsFile($module, $path . $pollerId . "/conf.d/" . $matches[1] . '.cfg', $filesList, $user = "******"); } } }
/** * Method for generating Main configuration file * * @param array $filesList * @param int $poller_id * @param string $path * @param string $filename * @param int $testing */ public static function generate(&$filesList, $poller_id, $path, $filename, $testing = 0) { static::$path = rtrim($path, '/'); /* Get Content */ $content = static::getContent($poller_id, $filesList, $testing); /* Write Check-Command configuration file */ WriteConfigFile::writeParamsFile($content, $path . $poller_id . "/" . $filename, $filesList, $user = "******"); unset($content); }
/** * Generate Resources.cfg * @param array $filesList * @param int $pollerId * @param string $path * @param string $filename * @return value */ public function generate(&$filesList, $pollerId, $path, $filename) { $di = Di::getDefault(); /* Get Database Connexion */ $dbconn = $di->get('db_centreon'); /* Init Content Array */ $content = array(); /* Get information into the database. */ $query = "SELECT resource_name, resource_line \n FROM cfg_resources r, cfg_resources_instances_relations rr \n WHERE r.resource_id = rr.resource_id \n AND r.resource_activate = '1' \n AND rr.instance_id = ? \n ORDER BY resource_name"; $stmt = $dbconn->prepare($query); $stmt->execute(array($pollerId)); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { $content[$row["resource_name"]] = $row["resource_line"]; } /* Write Check-Command configuration file */ WriteConfigFile::writeParamsFile($content, $path . $pollerId . "/conf.d/" . $filename, $filesList, $user = "******"); unset($content); }