function MergeConfigFiles($configFiles, $suffix) { foreach ($configFiles as $conf) { if (file_exists("{$conf}{$suffix}.bak")) { if ($conf === CONF_FILE_AIRTIME) { // Parse with sections $newSettings = parse_ini_file($conf, true); $oldSettings = parse_ini_file("{$conf}{$suffix}.bak", true); } else { $newSettings = ReadPythonConfig($conf); $oldSettings = ReadPythonConfig("{$conf}{$suffix}.bak"); } $settings = array_keys($newSettings); foreach ($settings as $section) { if (isset($oldSettings[$section])) { if (is_array($oldSettings[$section])) { $sectionKeys = array_keys($newSettings[$section]); foreach ($sectionKeys as $sectionKey) { if (isset($oldSettings[$section][$sectionKey])) { UpdateIniValue($conf, $sectionKey, $oldSettings[$section][$sectionKey]); } } } else { UpdateIniValue($conf, $section, $oldSettings[$section]); } } } } } }
function MergeConfigFiles($configFiles, $suffix) { foreach ($configFiles as $conf) { if (file_exists("{$conf}{$suffix}.bak")) { if ($conf === CONF_FILE_AIRTIME) { // Parse with sections $newSettings = parse_ini_file($conf, true); $oldSettings = parse_ini_file("{$conf}{$suffix}.bak", true); } else { $newSettings = ReadPythonConfig($conf); $oldSettings = ReadPythonConfig("{$conf}{$suffix}.bak"); } //override some values needed for 1.8.0. if ($conf === CONF_FILE_PYPO) { $oldSettings['cache_dir'] = '/var/tmp/airtime/pypo/cache/'; $oldSettings['file_dir'] = '/var/tmp/airtime/pypo/files/'; $oldSettings['tmp_dir'] = '/var/tmp/airtime/pypo/tmp/'; } else { if ($conf === CONF_FILE_RECORDER) { $oldSettings['base_recorded_files'] = '/var/tmp/airtime/show-recorder/'; } } $settings = array_keys($newSettings); foreach ($settings as $section) { if (isset($oldSettings[$section])) { if (is_array($oldSettings[$section])) { $sectionKeys = array_keys($newSettings[$section]); foreach ($sectionKeys as $sectionKey) { if (isset($oldSettings[$section][$sectionKey])) { UpdateIniValue($conf, $sectionKey, $oldSettings[$section][$sectionKey]); } } } else { UpdateIniValue($conf, $section, $oldSettings[$section]); } } } } } }