diff --git a/util/config b/util/config index 3057b87931..7774fb6023 100644 --- a/util/config +++ b/util/config @@ -1,13 +1,38 @@ #!/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) + **/ use Friendica\Core\Config; -require_once('include/cli_startup.php'); +require_once 'boot.php'; +require_once 'include/dba.php'; +require_once 'include/text.php'; +$a = get_app(); +require_once '.htconfig.php'; -cli_startup(); +dba::connect($db_host, $db_user, $db_pass, $db_data); +unset($db_host, $db_user, $db_pass, $db_data); if($argc > 3) { Config::set($argv[1],$argv[2],$argv[3]); @@ -19,9 +44,13 @@ if($argc == 3) { } 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"; } }