From cf7f278e19e0a201735a2dd3fc9f5205d5c53ab0 Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 12 Sep 2011 14:52:56 -0400 Subject: [PATCH] CC-2802: When upgrading 1.8.2->1.9.4, .htaccess is being written with "Toronto/America" --- .../airtime-1.9.4/airtime-upgrade.php | 51 ++++++++++++++++++- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php b/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php index 41d35436e..6751db292 100644 --- a/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php +++ b/install_minimal/upgrades/airtime-1.9.4/airtime-upgrade.php @@ -19,11 +19,58 @@ class Airtime194Upgrade{ exec("mkdir -p ".$phpDir); exec("cp -R ".$AIRTIME_SRC."/* ".$phpDir); } - + + public static function ModifyHtAccessTimezone($phpDir){ + $file = realpath($phpDir)."/public/.htaccess"; + + $fn = "/etc/timezone"; + $handle = @fopen($fn, "r"); + if ($handle){ + $timezone = trim(fgets($handle, 4096)); + fclose($handle); + } else { + echo "Could not open $fn"; + } + + $key = "php_value date.timezone"; + //the best way to do this is use cli utility "sed", but I don't have time to learn this + $handle = @fopen($file, "r"); + if ($handle) { + while (($buffer = fgets($handle, 4096)) !== false) { + if (strlen($key) > $buffer){ + if (substr($buffer, 0, strlen($key)) == $key){ + $output[] = "$key \"$timezone\"".PHP_EOL; + } else { + $output[] = $buffer; + } + } else { + $output[] = $buffer; + } + } + if (!feof($handle)) { + echo "Error: unexpected fgets() fail\n"; + } + fclose($handle); + } else { + echo "Could not open $file"; + } + + $handle = @fopen($file, 'w'); + if ($handle) { + foreach ($output as $line){ + fwrite($handle, $line); + } + fclose($handle); + } else { + echo "Could not open $file"; + } + } } -$values = parse_ini_file(AirtimeIni194::CONF_FILE_AIRTIME, true); +$values = parse_ini_file(Airtime194Upgrade::CONF_FILE_AIRTIME, true); $phpDir = $values['general']['airtime_dir']; Airtime194Upgrade::InstallAirtimePhpServerCode($phpDir); +Airtime194Upgrade::ModifyHtAccessTimezone($phpDir); Airtime194Upgrade::upgradeLiquidsoapCfgPerms(); +