/** Parses the configuration file. @param string $filename Path to the configuration file. @return null. **/ public static function parsIni($filename) { if (empty($filename) || !file_exists($filename)) { return "Configuration not found"; } $config = parse_ini_file($filename, true); Basic::setConstant("DEFAULT_SOCKET_TIMEOUT", Basic::getConfigKey($config, 'general', 'socketTimeout'), 10); $phpCommand = Basic::getConfigKey($config, 'general', 'phpCommand'); if (!empty($phpCommand)) { static::$phpCommand = $phpCommand; } $disablePanelTitle = Basic::getConfigKey($config, 'general', 'disablePanelTitle'); if (!empty($disablePanelTitle)) { static::$disablePanelTitle = $disablePanelTitle; } Basic::setConstant("TMP_FOLDER", Basic::getConfigKey($config, 'general', 'tmpFolder'), sys_get_temp_dir()); Basic::setConstant("SPECIAL_CHAR", Basic::getConfigKey($config, 'general', 'specialChar'), "&"); Basic::setConstant("DATABASE_TYPE", strtolower(Basic::getConfigKey($config, 'general', 'databaseType')), "influxdb"); Basic::setConstant("FORECAST_DATASOURCE_NAME", strtolower(Basic::getConfigKey($config, 'general', 'forecastDatasourceName')), "nagflux_forecast"); Basic::setConstant("URL", Basic::getConfigKey($config, DATABASE_TYPE, 'url'), "http://127.0.0.1:8086/query?db=nagflux"); define('INFLUXDB', 'influxdb'); define('ELASTICSEARCH', 'elasticsearch'); if (DATABASE_TYPE == INFLUXDB && preg_match(";db=(\\w*);", URL, $matches)) { define('INFLUXDB_DB', $matches[1]); } elseif (DATABASE_TYPE == ELASTICSEARCH) { $path = parse_url(URL, PHP_URL_PATH); if ($path) { define('ELASTICSEARCH_INDEX', ltrim($path, '/')); } } Basic::setConstant("HOSTCHECK_ALIAS", Basic::getConfigKey($config, DATABASE_TYPE, 'hostcheckAlias'), "hostcheck"); Basic::setConstant("DEFAULT_TEMPLATE_FOLDER", Basic::getConfigKey($config, 'folder', 'defaultTemplateFolder'), "histou/templates/default/"); Basic::setConstant("CUSTOM_TEMPLATE_FOLDER", Basic::getConfigKey($config, 'folder', 'customTemplateFolder'), "histou/templates/custom/"); Basic::setConstant("FORECAST_TEMPLATE_FOLDER", Basic::getConfigKey($config, 'folder', 'forecastTemplateFolder'), "histou/forecasts/"); }