From 073f539f09a319337868f6712525841ea89ece68 Mon Sep 17 00:00:00 2001 From: Naomi Date: Mon, 16 May 2011 15:16:38 -0400 Subject: [PATCH] CC-2256 Airtime-upgrade.php does not upgrade the web app put back in code as it got deleted during a merge a while ago. --- install/airtime-upgrade.php | 10 ++++- install/include/AirtimeIni.php | 35 +++++++++++++++++ .../airtime-1.8.1/airtime-upgrade.php | 38 +++++++++++++++++++ .../airtime-1.8.2/airtime-upgrade.php | 38 +++++++++++++++++++ 4 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 install/upgrades/airtime-1.8.1/airtime-upgrade.php create mode 100644 install/upgrades/airtime-1.8.2/airtime-upgrade.php diff --git a/install/airtime-upgrade.php b/install/airtime-upgrade.php index 4b5a4600b..ce29752ce 100644 --- a/install/airtime-upgrade.php +++ b/install/airtime-upgrade.php @@ -34,9 +34,15 @@ if(strcmp($version, "1.7.0") < 0) { if(strcmp($version, "1.8.0") < 0) { system("php ".__DIR__."/upgrades/airtime-1.8/airtime-upgrade.php"); } -if (strcmp($version, "1.9.0") < 0){ - system("php ".__DIR__."/upgrades/airtime-1.9/airtime-upgrade.php"); +if(strcmp($version, "1.8.1") < 0) { + system("php ".__DIR__."/upgrades/airtime-1.8.1/airtime-upgrade.php"); } +if(strcmp($version, "1.8.2") < 0) { + system("php ".__DIR__."/upgrades/airtime-1.8.2/airtime-upgrade.php"); +} +//if (strcmp($version, "1.9.0") < 0){ + //system("php ".__DIR__."/upgrades/airtime-1.9/airtime-upgrade.php"); +//} AirtimeInstall::SetAirtimeVersion(AIRTIME_VERSION); diff --git a/install/include/AirtimeIni.php b/install/include/AirtimeIni.php index 70c059af2..96cad78aa 100644 --- a/install/include/AirtimeIni.php +++ b/install/include/AirtimeIni.php @@ -184,4 +184,39 @@ class AirtimeIni AirtimeIni::UpdateIniValue(AirtimeIni::CONF_FILE_MEDIAMONITOR, 'api_key', "'$api_key'"); AirtimeIni::UpdateIniValue(AirtimeInstall::CONF_DIR_WWW.'/build/build.properties', 'project.home', AirtimeInstall::CONF_DIR_WWW); } + + public static 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 = AirtimeIni::ReadPythonConfig($conf); + $oldSettings = AirtimeIni::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])) { + AirtimeIni::UpdateIniValue($conf, $sectionKey, $oldSettings[$section][$sectionKey]); + } + } + } + else { + AirtimeIni::UpdateIniValue($conf, $section, $oldSettings[$section]); + } + } + } + } + } + } } diff --git a/install/upgrades/airtime-1.8.1/airtime-upgrade.php b/install/upgrades/airtime-1.8.1/airtime-upgrade.php new file mode 100644 index 000000000..df90e0d11 --- /dev/null +++ b/install/upgrades/airtime-1.8.1/airtime-upgrade.php @@ -0,0 +1,38 @@ +