diff options
Diffstat (limited to 'cli/reconfigure.php')
| -rwxr-xr-x | cli/reconfigure.php | 67 |
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(); |
