]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Allow setconfig.php to Print Entire Config
authorChristopher Vollick <psycotica0@gmail.com>
Thu, 15 Apr 2010 16:43:54 +0000 (12:43 -0400)
committerBrion Vibber <brion@pobox.com>
Thu, 15 Apr 2010 21:02:29 +0000 (23:02 +0200)
Previously it only printed out the configuration in the DB.

Now it can also print out the entire current configuration.

scripts/setconfig.php

index fe0e46d65e0628c8e3351a2ca465ec06297d50c5..401dda0f2b81ab2927d0c551fe58b8ab5d95d3db 100755 (executable)
@@ -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);
 }