From a52827790447bc9fd1cee2e40756b60b967be475 Mon Sep 17 00:00:00 2001 From: Karl 'vollmerk' Vollmer Date: Sun, 22 Oct 2006 09:24:39 +0000 Subject: updated translations, new russian translation, generate config tool to update config and new putenv test on /test.php --- admin/system.php | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 admin/system.php (limited to 'admin/system.php') diff --git a/admin/system.php b/admin/system.php new file mode 100644 index 00000000..30ad3c19 --- /dev/null +++ b/admin/system.php @@ -0,0 +1,111 @@ +has_access(100)) { + access_denied(); + exit(); +} + + +$action = scrub_in($_REQUEST['action']); + +/* Switch on action boys */ +switch ($action) { + /* This re-generates the config file comparing + * /config/ampache.cfg to .cfg.dist + */ + case 'generate_config': + + $configfile = conf('prefix') . '/config/ampache.cfg.php'; + $distfile = conf('prefix') . '/config/ampache.cfg.php.dist'; + + /* Load the current config file */ + $current = read_config($configfile, 0, 0); + + /* Start building the new config file */ + $handle = fopen($distfile,'r'); + $dist = fread($handle,filesize($distfile)); + fclose($handle); + + $data = explode("\n",$dist); + + /* Run throught the lines and set our settings */ + foreach ($data as $line) { + + /* Attempt to pull out Key */ + if (preg_match("/^#?([\w\d]+)\s+=\s+[\"]{1}(.*?)[\"]{1}$/",$line,$matches) + || preg_match("/^#?([\w\d]+)\s+=\s+[\']{1}(.*?)[\']{1}$/", $line, $matches) + || preg_match("/^#?([\w\d]+)\s+=\s+[\'\"]{0}(.*)[\'\"]{0}$/",$line,$matches)) { + + $key = $matches[1]; + $value = $matches[2]; + + /* Check to see if Key on source side is an array */ + if (is_array($current[$key])) { + /* We need to add all values of this key to the new config file */ + $line = ''; + $array_value[$key] = true; + foreach ($current[$key] as $sub_value) { + $line .= $key . " = \"" . $sub_value . "\"\n"; + } + unset($current[$key]); + } // is array + + /* Put in the current value */ + elseif (isset($current[$key])) { + $line = $key . " = \"" . $current[$key] . "\""; + unset($current[$key]); + } // if set + + elseif (isset($array_value[$key])) { + $line = ''; + } + + + } // if key + + + $final .= $line . "\n"; + + } // end foreach dist file contents + + /* Set Correct Headers */ + $browser = new Browser(); + $browser->downloadHeaders("ampache.cfg.php","text/plain",false,filesize("config/ampache.cfg.php.dist")); + echo $final; + + break; + /* Check this version against ampache.org's record */ + case 'check_version': + + + break; + default: + // Rien a faire + break; +} // end switch + +?> -- cgit