diff options
| author | 2017-02-24 23:00:44 +0100 | |
|---|---|---|
| committer | 2017-02-24 23:00:44 +0100 | |
| commit | 7757f9c2b257ddf7a282447805db05c43c616c11 (patch) | |
| tree | 69ffd0f255b5430ecd87c28ec3e12121472202a9 /cli | |
| parent | 686311463b2bf82405d0d113469dab62a0980532 (diff) | |
| parent | 1fc3054c2f85478df53b19365c1b0ebc46c372af (diff) | |
Merge pull request #1439 from dswd/cli-reconfigure
Added cli tool to reconfigure FreshRSS
Diffstat (limited to 'cli')
| -rwxr-xr-x | cli/reconfigure.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/cli/reconfigure.php b/cli/reconfigure.php new file mode 100755 index 000000000..5294dd2df --- /dev/null +++ b/cli/reconfigure.php @@ -0,0 +1,58 @@ +#!/usr/bin/php +<?php +require('_cli.php'); + +$params = array( + 'environment:', + 'base_url:', + 'title:', + 'default_user:', + 'allow_anonymous', + 'allow_anonymous_refresh', + 'auth_type:', + 'api_enabled', + 'allow_robots', + 'disable_update', + ); + +$dBparams = array( + 'db-type:', + 'db-host:', + 'db-user:', + 'db-password:', + 'db-base:', + 'db-prefix:', + ); + +$options = getopt('', array_merge($params, $dBparams)); + +fwrite(STDERR, 'Reconfiguring FreshRSS…' . "\n"); + +$config = Minz_Configuration::get('system'); +foreach ($params as $param) { + $param = rtrim($param, ':'); + if (isset($options[$param])) { + $config->$param = $options[$param] === false ? true : $options[$param]; + } +} +$db = $config->db; +foreach ($dBparams as $dBparam) { + $dBparam = rtrim($dBparam, ':'); + if (isset($options[$dBparam])) { + $param = substr($dBparam, strlen('db-')); + $db[$param] = $options[$dBparam]; + } +} +$config->db = $db; + +if (!ctype_alnum($config->default_user)) { + fail('FreshRSS invalid default username (must be ASCII alphanumeric): ' . $config->default_user); +} + +if (isset($config->auth_type) && !in_array($config->auth_type, array('form', 'http_auth', 'none'))) { + fail('FreshRSS invalid authentication method (auth_type must be one of { form, http_auth, none }: ' . $config->auth_type); +} + +$config->save(); + +done(); |
