summaryrefslogtreecommitdiff
path: root/scripts/setconfig.php
diff options
context:
space:
mode:
authorChristopher Vollick <psycotica0@gmail.com>2010-04-15 12:43:54 -0400
committerBrion Vibber <brion@pobox.com>2010-04-15 23:02:29 +0200
commit4f0672a94c0f0d63aba948f1f0ca678a088b8353 (patch)
tree003bf7915fe3e293718e377bb45391d7c1b76cac /scripts/setconfig.php
parentefcdfabc1225a2fdcb37a6cc3c96982b24b88d8f (diff)
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.
Diffstat (limited to 'scripts/setconfig.php')
-rwxr-xr-xscripts/setconfig.php36
1 files changed, 24 insertions, 12 deletions
diff --git a/scripts/setconfig.php b/scripts/setconfig.php
index fe0e46d65..401dda0f2 100755
--- a/scripts/setconfig.php
+++ b/scripts/setconfig.php
@@ -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);
}