/** * Merge config function * @author f0o <*****@*****.**> * @copyright 2015 f0o, LibreNMS * @license GPL * @package LibreNMS * @subpackage Config */ function mergecnf($obj) { $pointer = array(); $val = $obj['config_value']; $obj = $obj['config_name']; $obj = explode('.', $obj, 2); if (!isset($obj[1])) { if (filter_var($val, FILTER_VALIDATE_INT)) { $val = (int) $val; } else { if (filter_var($val, FILTER_VALIDATE_FLOAT)) { $val = (double) $val; } else { if (filter_var($val, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE) !== null) { $val = filter_var($val, FILTER_VALIDATE_BOOLEAN); } } } if (!empty($obj[0])) { return array($obj[0] => $val); } else { return array($val); } } else { $pointer[$obj[0]] = mergecnf(array('config_name' => $obj[1], 'config_value' => $val)); } return $pointer; }
<?php // Observium Includes require_once $config['install_dir'] . '/includes/dbFacile.php'; require_once $config['install_dir'] . '/includes/mergecnf.inc.php'; // Connect to database $database_link = mysql_pconnect($config['db_host'], $config['db_user'], $config['db_pass']); if (!$database_link) { echo '<h2>MySQL Error</h2>'; echo mysql_error(); die; } $database_db = mysql_select_db($config['db_name'], $database_link); $clone = $config; foreach (dbFetchRows('select config_name,config_value from config') as $obj) { $clone = array_replace_recursive($clone, mergecnf($obj)); } $config = array_replace_recursive($clone, $config); // // NO CHANGES TO THIS FILE, IT IS NOT USER-EDITABLE # // // YES, THAT MEANS YOU # // umask(02); $config['os']['default']['over'][0]['graph'] = 'device_processor'; $config['os']['default']['over'][0]['text'] = 'Processor Usage'; $config['os']['default']['over'][1]['graph'] = 'device_mempool'; $config['os']['default']['over'][1]['text'] = 'Memory Usage'; $os_group = 'unix'; $config['os_group'][$os_group]['type'] = 'server'; $config['os_group'][$os_group]['processor_stacked'] = 1;