aboutsummaryrefslogtreecommitdiff
path: root/cli/reconfigure.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2023-12-18 17:59:16 +0100
committerGravatar GitHub <noreply@github.com> 2023-12-18 17:59:16 +0100
commita80a5f48a16e7d232168a7aaa68e9a1804235ce1 (patch)
treea515b88592629dea7e83b96e26e2452d3f98a98e /cli/reconfigure.php
parent6bb45a87268157aab961a6a4a728d9a9bbe043b0 (diff)
Pass PHPStan level 8 (#5946)
* Pass PHPStan level 8 And prepare for PHPStan level 9 https://phpstan.org/user-guide/rule-levels * Revert wrong replace in comment * Fix PHPStan level 8 * Update PHPStan and other dev dependencies * Remove obsolete comment * noVariableVariables and towards bleedingEdge https://github.com/phpstan/phpstan-strict-rules https://phpstan.org/blog/what-is-bleeding-edge * More bleedingEdge * A bit more PHPStan level 9 * More PHPStan level 9 * Prepare for booleansInConditions Ignore int and null * Revert wrong line * More fixes * Fix keep_max_n_unread * Stricter attribute functions * Stricter callHooks and more PHPStan level 9 * More typing * A tiny more
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();