aboutsummaryrefslogtreecommitdiff
path: root/cli/reconfigure.php
diff options
context:
space:
mode:
Diffstat (limited to 'cli/reconfigure.php')
-rwxr-xr-xcli/reconfigure.php67
1 files changed, 52 insertions, 15 deletions
diff --git a/cli/reconfigure.php b/cli/reconfigure.php
index 7d502a17a..84cb42d60 100755
--- a/cli/reconfigure.php
+++ b/cli/reconfigure.php
@@ -41,10 +41,56 @@ fwrite(STDERR, 'Reconfiguring FreshRSS…' . "\n");
foreach ($params as $param) {
$param = rtrim($param, ':');
if (isset($options[$param])) {
- FreshRSS_Context::$system_conf->$param = $options[$param] === false ? true : $options[$param];
+ switch ($param) {
+ case 'allow_anonymous_refresh':
+ FreshRSS_Context::systemConf()->allow_anonymous_refresh = true;
+ break;
+ case 'allow_anonymous':
+ FreshRSS_Context::systemConf()->allow_anonymous = true;
+ break;
+ case 'allow_robots':
+ FreshRSS_Context::systemConf()->allow_robots = true;
+ break;
+ case 'api_enabled':
+ FreshRSS_Context::systemConf()->api_enabled = true;
+ break;
+ case 'auth_type':
+ if (in_array($options[$param], ['form', 'http_auth', 'none'], true)) {
+ FreshRSS_Context::systemConf()->auth_type = $options[$param];
+ } else {
+ fail('FreshRSS invalid authentication method! auth_type must be one of { form, http_auth, none }');
+ }
+ break;
+ case 'base_url':
+ FreshRSS_Context::systemConf()->base_url = $options[$param];
+ break;
+ case 'default_user':
+ if (FreshRSS_user_Controller::checkUsername($options[$param])) {
+ FreshRSS_Context::systemConf()->default_user = $options[$param];
+ } else {
+ fail('FreshRSS invalid default username! default_user must be ASCII alphanumeric');
+ }
+ break;
+ case 'disable_update':
+ FreshRSS_Context::systemConf()->disable_update = true;
+ break;
+ case 'environment':
+ if (in_array($options[$param], ['development', 'production', 'silent'], true)) {
+ FreshRSS_Context::systemConf()->environment = $options[$param];
+ } else {
+ fail('FreshRSS invalid environment! environment must be one of { development, production, silent }');
+ }
+ break;
+ case 'language':
+ FreshRSS_Context::systemConf()->language = $options[$param];
+ break;
+ case 'title':
+ FreshRSS_Context::systemConf()->title = $options[$param];
+ break;
+ }
}
}
-$db = FreshRSS_Context::$system_conf->db;
+$db = FreshRSS_Context::systemConf()->db;
foreach ($dBparams as $dBparam) {
$dBparam = rtrim($dBparam, ':');
if (isset($options[$dBparam])) {
@@ -52,19 +98,10 @@ foreach ($dBparams as $dBparam) {
$db[$param] = $options[$dBparam];
}
}
-FreshRSS_Context::$system_conf->db = $db;
+/** @var array{'type':string,'host':string,'user':string,'password':string,'base':string,'prefix':string,
+ * 'connection_uri_params':string,'pdo_options':array<int,int|string|bool>} $db */
+FreshRSS_Context::systemConf()->db = $db;
-if (!FreshRSS_user_Controller::checkUsername(FreshRSS_Context::$system_conf->default_user)) {
- fail('FreshRSS invalid default username (must be ASCII alphanumeric): ' .
- FreshRSS_Context::$system_conf->default_user);
-}
-
-if (isset(FreshRSS_Context::$system_conf->auth_type) &&
- !in_array(FreshRSS_Context::$system_conf->auth_type, ['form', 'http_auth', 'none'], true)) {
- fail('FreshRSS invalid authentication method (auth_type must be one of { form, http_auth, none }: '
- . FreshRSS_Context::$system_conf->auth_type);
-}
-
-FreshRSS_Context::$system_conf->save();
+FreshRSS_Context::systemConf()->save();
done();