X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=application%2Fconfig%2FConfigManager.php;h=7bfbfc729fe4b67c153d8c5c367d1bd763d074f5;hb=b320c860f5c794c57c08ee2a65c9b73768aac23c;hp=a401887c5367389e34785a8dd7d7c5c906238f41;hpb=9977c418d6d0de9e22e4ec276e7d476e184b5d01;p=github%2Fshaarli%2FShaarli.git diff --git a/application/config/ConfigManager.php b/application/config/ConfigManager.php index a401887c..7bfbfc72 100644 --- a/application/config/ConfigManager.php +++ b/application/config/ConfigManager.php @@ -1,9 +1,8 @@ loadedConfig = $this->configIO->read($this->getConfigFileExt()); + try { + $this->loadedConfig = $this->configIO->read($this->getConfigFileExt()); + } catch (\Exception $e) { + die($e->getMessage()); + } $this->setDefaultValues(); } @@ -124,12 +127,12 @@ class ConfigManager * @param bool $write Write the new setting in the config file, default false. * @param bool $isLoggedIn User login state, default false. * - * @throws Exception Invalid + * @throws \Exception Invalid */ public function set($setting, $value, $write = false, $isLoggedIn = false) { if (empty($setting) || ! is_string($setting)) { - throw new Exception('Invalid setting key parameter. String expected, got: '. gettype($setting)); + throw new \Exception('Invalid setting key parameter. String expected, got: '. gettype($setting)); } // During the ConfigIO transition, map legacy settings to the new ones. @@ -177,7 +180,7 @@ class ConfigManager * * @throws MissingFieldConfigException: a mandatory field has not been provided in $conf. * @throws UnauthorizedConfigException: user is not authorize to change configuration. - * @throws IOException: an error occurred while writing the new config file. + * @throws \IOException: an error occurred while writing the new config file. */ public function write($isLoggedIn) { @@ -318,7 +321,7 @@ class ConfigManager $this->setEmpty('updates.check_updates_interval', 86400); $this->setEmpty('feed.rss_permalinks', true); - $this->setEmpty('feed.show_atom', false); + $this->setEmpty('feed.show_atom', true); $this->setEmpty('privacy.default_private_links', false); $this->setEmpty('privacy.hide_public_links', false); @@ -362,36 +365,3 @@ class ConfigManager $this->configIO = $configIO; } } - -/** - * Exception used if a mandatory field is missing in given configuration. - */ -class MissingFieldConfigException extends Exception -{ - public $field; - - /** - * Construct exception. - * - * @param string $field field name missing. - */ - public function __construct($field) - { - $this->field = $field; - $this->message = 'Configuration value is required for '. $this->field; - } -} - -/** - * Exception used if an unauthorized attempt to edit configuration has been made. - */ -class UnauthorizedConfigException extends Exception -{ - /** - * Construct exception. - */ - public function __construct() - { - $this->message = 'You are not authorized to alter config.'; - } -}