]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - scripts/setconfig.php
Removed plugin Google-Analytics as this is free/libre and decentralized
[quix0rs-gnu-social.git] / scripts / setconfig.php
index b102f99b1fc38639d1fd2fdc798a0fc4fe2bb290..009c50dbf291061c4513c918341067780510fcd3 100755 (executable)
 
 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>
 With three args, set the setting to the value.
 With two args, just show the setting.
 With -d, delete the setting.
+With no args, lists all currently set values.
 
   [section]   section to use (required)
   [setting]   setting to use (required)
   <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();
+        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);
+}
+
 if (count($args) < 2 || count($args) > 3) {
     show_help();
     exit(1);