]> git.mxchange.org Git - friendica.git/blobdiff - util/config
Merge pull request #4637 from tobiasd/3.6
[friendica.git] / util / config
old mode 100644 (file)
new mode 100755 (executable)
index 67fe14f..7774fb6
@@ -1,25 +1,56 @@
 #!/usr/bin/env php
 <?php
 
-// Red config utility
+/**
+ * @brief tool to access the system config from the CLI
+ *
+ * With this script you can access the system configuration of your node from
+ * the CLI. You can do both, reading current values stored in the database and
+ * set new values to config variables.
+ *
+ * Usage:
+ *   If you specify no parameters at the CLI, the script will list all config
+ *   variables defined.
+ *
+ *   If you specify one parameter, the scipt will list all config variables
+ *   defined in this section of the configuration (e.g. "system").
+ *
+ *   If you specify two parameters, the scipt will show you the current value
+ *   of the named configuration setting. (e.g. "system loglevel")
+ *
+ *   If you specify three parameters, the named configuration setting will be
+ *   set to the value of the last parameter. (e.g. "system loglevel 0" will
+ *   disable logging)
+ **/
 
-require_once('include/cli_startup.php');
+use Friendica\Core\Config;
 
-cli_startup();
+require_once 'boot.php';
+require_once 'include/dba.php';
+require_once 'include/text.php';
+$a = get_app();
+require_once '.htconfig.php';
+
+dba::connect($db_host, $db_user, $db_pass, $db_data);
+unset($db_host, $db_user, $db_pass, $db_data);
 
 if($argc > 3) {
-       set_config($argv[1],$argv[2],$argv[3]);
-       echo "config[{$argv[1]}][{$argv[2]}] = " . get_config($argv[1],$argv[2]) . "\n";
+       Config::set($argv[1],$argv[2],$argv[3]);
+       echo "config[{$argv[1]}][{$argv[2]}] = " . Config::get($argv[1],$argv[2]) . "\n";
 }
 
 if($argc == 3) {
-       echo "config[{$argv[1]}][{$argv[2]}] = " . get_config($argv[1],$argv[2]) . "\n";
+       echo "config[{$argv[1]}][{$argv[2]}] = " . Config::get($argv[1],$argv[2]) . "\n";
 }
 
 if($argc == 2) {
-       load_config($argv[1]);
-       foreach($a->config[$argv[1]] as $k => $x) {
-               echo "config[{$argv[1]}][{$k}] = " . $x . "\n";
+       Config::load($argv[1]);
+       if (!is_null($a->config[$argv[1]])) {
+               foreach($a->config[$argv[1]] as $k => $x) {
+                       echo "config[{$argv[1]}][{$k}] = " . $x . "\n";
+               }
+       } else {
+               echo "config section '$argv[1]' returned nothing.\n";
        }
 }