Commit 4f0672a9 authored by Christopher Vollick's avatar Christopher Vollick Committed by Brion Vibber

Allow setconfig.php to Print Entire Config

Previously it only printed out the configuration in the DB.

Now it can also print out the entire current configuration.
parent efcdfabc
......@@ -20,8 +20,8 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
$shortoptions = 'd';
$longoptions = array('delete');
$shortoptions = 'da';
$longoptions = array('delete', 'all');
$helptext = <<<END_OF_SETCONFIG_HELP
setconfig.php [options] [section] [setting] <value>
......@@ -35,12 +35,23 @@ With no args, lists all currently set values.
<value> value to set (optional)
-d --delete delete the setting (no value)
-a --all list all configuration, not just the database values
END_OF_SETCONFIG_HELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
if (empty($args)) {
if (have_option('a', 'all')) {
foreach ($config as $section => $section_value) {
foreach ($section_value as $setting => $value) {
if (have_option('v', 'verbose') || !is_array($value)) {
# Don't print array's without the verbose flag
printf("%-20s %-20s %s\n", $section, $setting, var_export($value, true));
}
}
}
} else {
$count = 0;
$config = new Config();
$config->find();
......@@ -52,6 +63,7 @@ if (empty($args)) {
if ($count == 0) {
print "No configuration set in database for this site.\n";
}
}
exit(0);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment