Add user config (#653)
Uses the parse_ini_file function to load default settings from the default configuration file 'config.default.ini.php'. Optionally loads custom settings from 'config.ini.php' to replace the default values.
This commit is contained in:
parent
c4f32c31a8
commit
8ac8e08abf
3 changed files with 66 additions and 10 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -227,6 +227,7 @@ pip-log.txt
|
|||
/cache
|
||||
/whitelist.txt
|
||||
DEBUG
|
||||
config.ini.php
|
||||
|
||||
######################
|
||||
## VisualStudioCode ##
|
||||
|
|
27
config.default.ini.php
Normal file
27
config.default.ini.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
; <?php exit; ?> DO NOT REMOVE THIS LINE
|
||||
|
||||
; This file contains the default settings for RSS-Bridge. Do not change this
|
||||
; file, it will be replaced on the next update of RSS-Bridge! You can specify
|
||||
; your own configuration in 'config.ini.php' (copy this file).
|
||||
|
||||
[cache]
|
||||
|
||||
; Allow users to specify custom timeout for specific requests.
|
||||
; true = enabled
|
||||
; false = disabled (default)
|
||||
custom_timeout = false
|
||||
|
||||
[proxy]
|
||||
|
||||
; Sets the proxy url (i.e. "tcp://192.168.0.0:32")
|
||||
; "" = Proxy disabled (default)
|
||||
url = ""
|
||||
|
||||
; Sets the proxy name that is shown on the bridge instead of the proxy url.
|
||||
; "" = Show proxy url
|
||||
name = "Hidden proxy name"
|
||||
|
||||
; Allow users to disable proxy usage for specific requests.
|
||||
; true = enabled
|
||||
; false = disabled (default)
|
||||
by_bridge = false
|
48
index.php
48
index.php
|
@ -10,19 +10,47 @@ TODO :
|
|||
- implement header('X-Cached-Version: '.date(DATE_ATOM, filemtime($cachefile)));
|
||||
*/
|
||||
|
||||
if(!file_exists('config.default.ini.php'))
|
||||
die('The default configuration file "config.default.ini.php" is missing!');
|
||||
|
||||
$config = parse_ini_file('config.default.ini.php', true, INI_SCANNER_TYPED);
|
||||
|
||||
if(file_exists('config.ini.php')) {
|
||||
// Replace default configuration with custom settings
|
||||
foreach(parse_ini_file('config.ini.php', true, INI_SCANNER_TYPED) as $header => $section) {
|
||||
foreach($section as $key => $value) {
|
||||
// Skip unknown sections and keys
|
||||
if(array_key_exists($header, $config) && array_key_exists($key, $config[$header])) {
|
||||
$config[$header][$key] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!is_string($config['proxy']['url']))
|
||||
die('Parameter [proxy] => "url" is not a valid string! Please check "config.ini.php"!');
|
||||
|
||||
if(!empty($config['proxy']['url']))
|
||||
define('PROXY_URL', $config['proxy']['url']);
|
||||
|
||||
if(!is_bool($config['proxy']['by_bridge']))
|
||||
die('Parameter [proxy] => "by_bridge" is not a valid Boolean! Please check "config.ini.php"!');
|
||||
|
||||
define('PROXY_BYBRIDGE', $config['proxy']['by_bridge']);
|
||||
|
||||
if(!is_string($config['proxy']['name']))
|
||||
die('Parameter [proxy] => "name" is not a valid string! Please check "config.ini.php"!');
|
||||
|
||||
define('PROXY_NAME', $config['proxy']['name']);
|
||||
|
||||
if(!is_bool($config['cache']['custom_timeout']))
|
||||
die('Parameter [cache] => "custom_timeout" is not a valid Boolean! Please check "config.ini.php"!');
|
||||
|
||||
define('CUSTOM_CACHE_TIMEOUT', $config['cache']['custom_timeout']);
|
||||
|
||||
// Defines the minimum required PHP version for RSS-Bridge
|
||||
define('PHP_VERSION_REQUIRED', '5.6.0');
|
||||
|
||||
//define('PROXY_URL', 'tcp://192.168.0.0:28');
|
||||
// Set to true if you allow users to disable proxy usage for specific bridges
|
||||
define('PROXY_BYBRIDGE', false);
|
||||
// Comment this line or keep PROXY_NAME empty to display PROXY_URL instead
|
||||
define('PROXY_NAME', 'Hidden Proxy Name');
|
||||
|
||||
// Allows the operator to specify custom cache timeouts via '&_cache_timeout=3600'
|
||||
// true: enabled, false: disabled (default)
|
||||
define('CUSTOM_CACHE_TIMEOUT', false);
|
||||
|
||||
date_default_timezone_set('UTC');
|
||||
error_reporting(0);
|
||||
|
||||
|
|
Loading…
Reference in a new issue