aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--caches/MemcachedCache.php10
-rw-r--r--caches/SQLiteCache.php4
-rw-r--r--lib/Configuration.php46
-rw-r--r--lib/rssbridge.php6
4 files changed, 35 insertions, 31 deletions
diff --git a/caches/MemcachedCache.php b/caches/MemcachedCache.php
index 42291790..f69f10b0 100644
--- a/caches/MemcachedCache.php
+++ b/caches/MemcachedCache.php
@@ -16,19 +16,19 @@ class MemcachedCache implements CacheInterface {
$host = Configuration::getConfig(get_called_class(), 'host');
$port = Configuration::getConfig(get_called_class(), 'port');
if (empty($host) && empty($port)) {
- returnServerError('Configuration for ' . get_called_class() . ' missing. Please check your config.ini.php');
+ returnServerError('Configuration for ' . get_called_class() . ' missing. Please check your ' . FILE_CONFIG);
} else if (empty($host)) {
- returnServerError('"host" param is not set for ' . get_called_class() . '. Please check your config.ini.php');
+ returnServerError('"host" param is not set for ' . get_called_class() . '. Please check your ' . FILE_CONFIG);
} else if (empty($port)) {
- returnServerError('"port" param is not set for ' . get_called_class() . '. Please check your config.ini.php');
+ returnServerError('"port" param is not set for ' . get_called_class() . '. Please check your ' . FILE_CONFIG);
} else if (!ctype_digit($port)) {
- returnServerError('"port" param is invalid for ' . get_called_class() . '. Please check your config.ini.php');
+ returnServerError('"port" param is invalid for ' . get_called_class() . '. Please check your ' . FILE_CONFIG);
}
$port = intval($port);
if ($port < 1 || $port > 65535) {
- returnServerError('"port" param is invalid for ' . get_called_class() . '. Please check your config.ini.php');
+ returnServerError('"port" param is invalid for ' . get_called_class() . '. Please check your ' . FILE_CONFIG);
}
$conn = new Memcached();
diff --git a/caches/SQLiteCache.php b/caches/SQLiteCache.php
index 7d0f584f..394e25fa 100644
--- a/caches/SQLiteCache.php
+++ b/caches/SQLiteCache.php
@@ -15,12 +15,12 @@ class SQLiteCache implements CacheInterface {
$file = Configuration::getConfig(get_called_class(), 'file');
if (empty($file)) {
- die('Configuration for ' . get_called_class() . ' missing. Please check your config.ini.php');
+ die('Configuration for ' . get_called_class() . ' missing. Please check your ' . FILE_CONFIG);
}
if (dirname($file) == '.') {
$file = PATH_CACHE . $file;
} elseif (!is_dir(dirname($file))) {
- die('Invalid configuration for ' . get_called_class() . '. Please check your config.ini.php');
+ die('Invalid configuration for ' . get_called_class() . '. Please check your ' . FILE_CONFIG);
}
if (!is_file($file)) {
diff --git a/lib/Configuration.php b/lib/Configuration.php
index c327c1d4..bd82ce94 100644
--- a/lib/Configuration.php
+++ b/lib/Configuration.php
@@ -114,15 +114,13 @@ final class Configuration {
* Returns an error message and aborts execution if the configuration is invalid.
*
* The RSS-Bridge configuration is split into two files:
- * - `config.default.ini.php`: The default configuration file that ships with
- * every release of RSS-Bridge (do not modify this file!).
- * - `config.ini.php`: The local configuration file that can be modified by
- * server administrators.
+ * - {@see FILE_CONFIG_DEFAULT} The default configuration file that ships
+ * with every release of RSS-Bridge (do not modify this file!).
+ * - {@see FILE_CONFIG} The local configuration file that can be modified
+ * by server administrators.
*
- * The files must be located at {@see PATH_ROOT}
- *
- * RSS-Bridge will first load `config.default.ini.php` into memory and then
- * replace parameters with the contents of `config.ini.php`. That way new
+ * RSS-Bridge will first load {@see FILE_CONFIG_DEFAULT} into memory and then
+ * replace parameters with the contents of {@see FILE_CONFIG}. That way new
* parameters are automatically initialized with default values and custom
* configurations can be reduced to the minimum set of parametes necessary
* (only the ones that changed).
@@ -136,16 +134,16 @@ final class Configuration {
*/
public static function loadConfiguration() {
- if(!file_exists(PATH_ROOT . 'config.default.ini.php'))
- die('The default configuration file "config.default.ini.php" is missing!');
+ if(!file_exists(FILE_CONFIG_DEFAULT))
+ die('The default configuration file "' . FILE_CONFIG_DEFAULT . '" is missing!');
- Configuration::$config = parse_ini_file(PATH_ROOT . 'config.default.ini.php', true, INI_SCANNER_TYPED);
+ Configuration::$config = parse_ini_file(FILE_CONFIG_DEFAULT, true, INI_SCANNER_TYPED);
if(!Configuration::$config)
- die('Error parsing config.default.ini.php');
+ die('Error parsing ' . FILE_CONFIG_DEFAULT);
- if(file_exists(PATH_ROOT . 'config.ini.php')) {
+ if(file_exists(FILE_CONFIG)) {
// Replace default configuration with custom settings
- foreach(parse_ini_file(PATH_ROOT . 'config.ini.php', true, INI_SCANNER_TYPED) as $header => $section) {
+ foreach(parse_ini_file(FILE_CONFIG, true, INI_SCANNER_TYPED) as $header => $section) {
foreach($section as $key => $value) {
// Skip unknown sections and keys
if(array_key_exists($header, Configuration::$config) && array_key_exists($key, Configuration::$config[$header])) {
@@ -157,12 +155,12 @@ final class Configuration {
if(!is_string(self::getConfig('system', 'timezone'))
|| !in_array(self::getConfig('system', 'timezone'), timezone_identifiers_list(DateTimeZone::ALL_WITH_BC)))
- die('Parameter [system] => "timezone" is invalid! Please check "config.ini.php"!');
+ die('Parameter [system] => "timezone" is invalid! Please check ' . FILE_CONFIG);
date_default_timezone_set(self::getConfig('system', 'timezone'));
if(!is_string(self::getConfig('proxy', 'url')))
- die('Parameter [proxy] => "url" is not a valid string! Please check "config.ini.php"!');
+ die('Parameter [proxy] => "url" is not a valid string! Please check ' . FILE_CONFIG);
if(!empty(self::getConfig('proxy', 'url'))) {
/** URL of the proxy server */
@@ -170,38 +168,38 @@ final class Configuration {
}
if(!is_bool(self::getConfig('proxy', 'by_bridge')))
- die('Parameter [proxy] => "by_bridge" is not a valid Boolean! Please check "config.ini.php"!');
+ die('Parameter [proxy] => "by_bridge" is not a valid Boolean! Please check ' . FILE_CONFIG);
/** True if proxy usage can be enabled selectively for each bridge */
define('PROXY_BYBRIDGE', self::getConfig('proxy', 'by_bridge'));
if(!is_string(self::getConfig('proxy', 'name')))
- die('Parameter [proxy] => "name" is not a valid string! Please check "config.ini.php"!');
+ die('Parameter [proxy] => "name" is not a valid string! Please check ' . FILE_CONFIG);
/** Name of the proxy server */
define('PROXY_NAME', self::getConfig('proxy', 'name'));
if(!is_string(self::getConfig('cache', 'type')))
- die('Parameter [cache] => "type" is not a valid string! Please check "config.ini.php"!');
+ die('Parameter [cache] => "type" is not a valid string! Please check ' . FILE_CONFIG);
if(!is_bool(self::getConfig('cache', 'custom_timeout')))
- die('Parameter [cache] => "custom_timeout" is not a valid Boolean! Please check "config.ini.php"!');
+ die('Parameter [cache] => "custom_timeout" is not a valid Boolean! Please check ' . FILE_CONFIG);
/** True if the cache timeout can be specified by the user */
define('CUSTOM_CACHE_TIMEOUT', self::getConfig('cache', 'custom_timeout'));
if(!is_bool(self::getConfig('authentication', 'enable')))
- die('Parameter [authentication] => "enable" is not a valid Boolean! Please check "config.ini.php"!');
+ die('Parameter [authentication] => "enable" is not a valid Boolean! Please check ' . FILE_CONFIG);
if(!is_string(self::getConfig('authentication', 'username')))
- die('Parameter [authentication] => "username" is not a valid string! Please check "config.ini.php"!');
+ die('Parameter [authentication] => "username" is not a valid string! Please check ' . FILE_CONFIG);
if(!is_string(self::getConfig('authentication', 'password')))
- die('Parameter [authentication] => "password" is not a valid string! Please check "config.ini.php"!');
+ die('Parameter [authentication] => "password" is not a valid string! Please check ' . FILE_CONFIG);
if(!empty(self::getConfig('admin', 'email'))
&& !filter_var(self::getConfig('admin', 'email'), FILTER_VALIDATE_EMAIL))
- die('Parameter [admin] => "email" is not a valid email address! Please check "config.ini.php"!');
+ die('Parameter [admin] => "email" is not a valid email address! Please check ' . FILE_CONFIG);
}
diff --git a/lib/rssbridge.php b/lib/rssbridge.php
index 168c91ca..f7c1a3d7 100644
--- a/lib/rssbridge.php
+++ b/lib/rssbridge.php
@@ -41,6 +41,12 @@ define('WHITELIST', __DIR__ . '/../whitelist.txt');
/** Path to the default whitelist file */
define('WHITELIST_DEFAULT', __DIR__ . '/../whitelist.default.txt');
+/** Path to the configuration file */
+define('FILE_CONFIG', PATH_ROOT . 'config.ini.php');
+
+/** Path to the default configuration file */
+define('FILE_CONFIG_DEFAULT', PATH_ROOT . 'config.default.ini.php');
+
/** URL to the RSS-Bridge repository */
define('REPOSITORY', 'https://github.com/RSS-Bridge/rss-bridge/');