We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

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,22 +35,34 @@ 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)) {
$count = 0;
$config = new Config();
$config->find();
while ($config->fetch()) {
$count++;
printf("%-20s %-20s %s\n", $config->section, $config->setting,
var_export($config->value, true));
}
if ($count == 0) {
print "No configuration set in database for this site.\n";
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();
while ($config->fetch()) {
$count++;
printf("%-20s %-20s %s\n", $config->section, $config->setting,
var_export($config->value, true));
}
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