-<?php\r
-\r
-/*\r
- * To change this license header, choose License Headers in Project Properties.\r
- * To change this template file, choose Tools | Templates\r
- * and open the template in the editor.\r
- */\r
-\r
-namespace Friendica\Core\Console;\r
-\r
-use Asika\SimpleConsole\CommandArgsException;\r
-use dba;\r
-use Friendica\Core;\r
-\r
-require_once 'include/dba.php';\r
-require_once 'include/text.php';\r
-\r
-/**\r
- * @brief tool to access the system config from the CLI\r
- *\r
- * With this script you can access the system configuration of your node from\r
- * the CLI. You can do both, reading current values stored in the database and\r
- * set new values to config variables.\r
- *\r
- * Usage:\r
- * If you specify no parameters at the CLI, the script will list all config\r
- * variables defined.\r
- *\r
- * If you specify one parameter, the script will list all config variables\r
- * defined in this section of the configuration (e.g. "system").\r
- *\r
- * If you specify two parameters, the script will show you the current value\r
- * of the named configuration setting. (e.g. "system loglevel")\r
- *\r
- * If you specify three parameters, the named configuration setting will be\r
- * set to the value of the last parameter. (e.g. "system loglevel 0" will\r
- * disable logging)\r
- *\r
- * @author Tobias Diekershoff\r
- * @author Hypolite Petovan <mrpetovan@gmail.com>\r
- */\r
-class Config extends \Asika\SimpleConsole\Console\r
-{\r
- protected $helpOptions = ['h', 'help', '?'];\r
-\r
- protected function getHelp()\r
- {\r
- $help = <<<HELP\r
-console config - Manage site configuration\r
-Synopsis\r
- bin/console config [-h|--help|-?] [-v]\r
- bin/console config <category> [-h|--help|-?] [-v]\r
- bin/console config <category> <key> [-h|--help|-?] [-v]\r
- bin/console config <category> <key> <value> [-h|--help|-?] [-v]\r
-\r
-Description\r
- bin/console config\r
- Lists all config values\r
-\r
- bin/console config <category>\r
- Lists all config values in the provided category\r
-\r
- bin/console config <category> <key>\r
- Shows the value of the provided key in the category\r
-\r
- bin/console config <category> <key> <value>\r
- Sets the value of the provided key in the category\r
-\r
-Notes:\r
- Setting config entries which are manually set in .htconfig.php may result in\r
- conflict between database settings and the manual startup settings.\r
-\r
-Options\r
- -h|--help|-? Show help information\r
- -v Show more debug information.\r
-HELP;\r
- return $help;\r
- }\r
-\r
- protected function doExecute()\r
- {\r
- if ($this->getOption('v')) {\r
- $this->out('Executable: ' . $this->executable);\r
- $this->out('Class: ' . __CLASS__);\r
- $this->out('Arguments: ' . var_export($this->args, true));\r
- $this->out('Options: ' . var_export($this->options, true));\r
- }\r
-\r
- if (count($this->args) > 3) {\r
- throw new CommandArgsException('Too many arguments');\r
- }\r
-\r
- require_once '.htconfig.php';\r
- $result = dba::connect($db_host, $db_user, $db_pass, $db_data);\r
- unset($db_host, $db_user, $db_pass, $db_data);\r
-\r
- if (!$result) {\r
- throw new \RuntimeException('Unable to connect to database');\r
- }\r
-\r
- if (count($this->args) == 3) {\r
- Core\Config::set($this->getArgument(0), $this->getArgument(1), $this->getArgument(2));\r
- $this->out("config[{$this->getArgument(0)}][{$this->getArgument(1)}] = " . Core\Config::get($this->getArgument(0),\r
- $this->getArgument(1)));\r
- }\r
-\r
- if (count($this->args) == 2) {\r
- $this->out("config[{$this->getArgument(0)}][{$this->getArgument(1)}] = " . Core\Config::get($this->getArgument(0),\r
- $this->getArgument(1)));\r
- }\r
-\r
- if (count($this->args) == 1) {\r
- Core\Config::load($this->getArgument(0));\r
-\r
- $a = get_app();\r
- if (!is_null($a->config[$this->getArgument(0)])) {\r
- foreach ($a->config[$this->getArgument(0)] as $k => $x) {\r
- $this->out("config[{$this->getArgument(0)}][{$k}] = " . $x);\r
- }\r
- } else {\r
- $this->out('Config section ' . $this->getArgument(0) . ' returned nothing');\r
- }\r
- }\r
-\r
- if (count($this->args) == 0) {\r
- $configs = dba::select('config');\r
- foreach ($configs as $config) {\r
- $this->out("config[{$config['cat']}][{$config['k']}] = " . $config['v']);\r
- }\r
- }\r
-\r
- return 0;\r
- }\r
-\r
-}\r
+<?php
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace Friendica\Core\Console;
+
+use Asika\SimpleConsole\CommandArgsException;
+use dba;
+use Friendica\Core;
+
+require_once 'include/dba.php';
+require_once 'include/text.php';
+
+/**
+ * @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 script will list all config variables
+ * defined in this section of the configuration (e.g. "system").
+ *
+ * If you specify two parameters, the script 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)
+ *
+ * @author Tobias Diekershoff
+ * @author Hypolite Petovan <mrpetovan@gmail.com>
+ */
+class Config extends \Asika\SimpleConsole\Console
+{
+ protected $helpOptions = ['h', 'help', '?'];
+
+ protected function getHelp()
+ {
+ $help = <<<HELP
+console config - Manage site configuration
+Synopsis
+ bin/console config [-h|--help|-?] [-v]
+ bin/console config <category> [-h|--help|-?] [-v]
+ bin/console config <category> <key> [-h|--help|-?] [-v]
+ bin/console config <category> <key> <value> [-h|--help|-?] [-v]
+
+Description
+ bin/console config
+ Lists all config values
+
+ bin/console config <category>
+ Lists all config values in the provided category
+
+ bin/console config <category> <key>
+ Shows the value of the provided key in the category
+
+ bin/console config <category> <key> <value>
+ Sets the value of the provided key in the category
+
+Notes:
+ Setting config entries which are manually set in .htconfig.php may result in
+ conflict between database settings and the manual startup settings.
+
+Options
+ -h|--help|-? Show help information
+ -v Show more debug information.
+HELP;
+ return $help;
+ }
+
+ protected function doExecute()
+ {
+ $a = get_app();
+
+ if ($this->getOption('v')) {
+ $this->out('Executable: ' . $this->executable);
+ $this->out('Class: ' . __CLASS__);
+ $this->out('Arguments: ' . var_export($this->args, true));
+ $this->out('Options: ' . var_export($this->options, true));
+ }
+
+ if (count($this->args) > 3) {
+ throw new CommandArgsException('Too many arguments');
+ }
+
+ require_once '.htconfig.php';
+ $result = dba::connect($db_host, $db_user, $db_pass, $db_data);
+ unset($db_host, $db_user, $db_pass, $db_data);
+
+ if (!$result) {
+ throw new \RuntimeException('Unable to connect to database');
+ }
+
+ if (count($this->args) == 3) {
+ Core\Config::set($this->getArgument(0), $this->getArgument(1), $this->getArgument(2));
+ $this->out("config[{$this->getArgument(0)}][{$this->getArgument(1)}] = " . Core\Config::get($this->getArgument(0),
+ $this->getArgument(1)));
+ }
+
+ if (count($this->args) == 2) {
+ $this->out("config[{$this->getArgument(0)}][{$this->getArgument(1)}] = " . Core\Config::get($this->getArgument(0),
+ $this->getArgument(1)));
+ }
+
+ if (count($this->args) == 1) {
+ Core\Config::load($this->getArgument(0));
+
+ $a = get_app();
+ if (!is_null($a->config[$this->getArgument(0)])) {
+ foreach ($a->config[$this->getArgument(0)] as $k => $x) {
+ $this->out("config[{$this->getArgument(0)}][{$k}] = " . $x);
+ }
+ } else {
+ $this->out('Config section ' . $this->getArgument(0) . ' returned nothing');
+ }
+ }
+
+ if (count($this->args) == 0) {
+ $configs = dba::select('config');
+ foreach ($configs as $config) {
+ $this->out("config[{$config['cat']}][{$config['k']}] = " . $config['v']);
+ }
+ }
+
+ return 0;
+ }
+
+}