diff options
| author | 2013-11-09 21:33:43 +0100 | |
|---|---|---|
| committer | 2013-11-09 21:33:43 +0100 | |
| commit | a1fa4a445ad6a8b12fe606764588b619edab8d8f (patch) | |
| tree | 27a24450906d0853ad28527e69f3d4a04ec0f666 /lib | |
| parent | 33b68a801734999504d3dfe811bb71582f7b9b0d (diff) | |
Ajout de messages en cas de mauvaise configuration
Si fichier de conf inaccessible / mal configuré ou fichier de log
inaccessible, on affiche des messages plus explicites qu'une page
blanche
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/minz/Configuration.php | 14 | ||||
| -rwxr-xr-x | lib/minz/FrontController.php | 18 | ||||
| -rw-r--r-- | lib/minz/Minz_Log.php | 9 | ||||
| -rw-r--r-- | lib/minz/exceptions/MinzException.php | 4 |
4 files changed, 27 insertions, 18 deletions
diff --git a/lib/minz/Configuration.php b/lib/minz/Configuration.php index ad6df1bcf..b296ec378 100755 --- a/lib/minz/Configuration.php +++ b/lib/minz/Configuration.php @@ -13,7 +13,7 @@ class Configuration { /** * VERSION est la version actuelle de MINZ */ - const VERSION = '1.3.1'; + const VERSION = '1.3.1.freshrss'; // version spéciale FreshRSS /** * valeurs possibles pour l'"environment" @@ -98,10 +98,10 @@ class Configuration { try { self::parseFile (); self::setReporting (); - } catch (BadConfigurationException $e) { - throw $e; } catch (FileNotExistException $e) { throw $e; + } catch (BadConfigurationException $e) { + throw $e; } } @@ -117,11 +117,19 @@ class Configuration { MinzException::ERROR ); } + $ini_array = parse_ini_file ( APP_PATH . self::CONF_PATH_NAME, true ); + if (!$ini_array) { + throw new PermissionDeniedException ( + APP_PATH . self::CONF_PATH_NAME, + MinzException::ERROR + ); + } + // [general] est obligatoire if (!isset ($ini_array['general'])) { throw new BadConfigurationException ( diff --git a/lib/minz/FrontController.php b/lib/minz/FrontController.php index 67ed89f46..d48d43d04 100755 --- a/lib/minz/FrontController.php +++ b/lib/minz/FrontController.php @@ -41,7 +41,7 @@ class FrontController { Configuration::init (); Request::init (); - + $this->router = new Router (); $this->router->init (); } catch (RouteNotFoundException $e) { @@ -52,7 +52,7 @@ class FrontController { ); } catch (MinzException $e) { Minz_Log::record ($e->getMessage (), Minz_Log::ERROR); - $this->killApp (); + $this->killApp ($e->getMessage ()); } $this->dispatcher = Dispatcher::getInstance ($this->router); @@ -94,12 +94,16 @@ class FrontController { $this->dispatcher->run (); Response::send (); } catch (MinzException $e) { - Minz_Log::record ($e->getMessage (), Minz_Log::ERROR); + try { + Minz_Log::record ($e->getMessage (), Minz_Log::ERROR); + } catch (PermissionDeniedException $e) { + $this->killApp ($e->getMessage ()); + } if ($e instanceof FileNotExistException || - $e instanceof ControllerNotExistException || - $e instanceof ControllerNotActionControllerException || - $e instanceof ActionException) { + $e instanceof ControllerNotExistException || + $e instanceof ControllerNotActionControllerException || + $e instanceof ActionException) { Error::error ( 404, array ('error' => array ($e->getMessage ())), @@ -118,6 +122,6 @@ class FrontController { if ($txt == '') { $txt = 'See logs files'; } - exit ('### Application problem ###'."\n".$txt); + exit ('### Application problem ###<br />'."\n".$txt); } } diff --git a/lib/minz/Minz_Log.php b/lib/minz/Minz_Log.php index c6f23d900..153870435 100644 --- a/lib/minz/Minz_Log.php +++ b/lib/minz/Minz_Log.php @@ -65,12 +65,9 @@ class Minz_Log { fwrite ($file, $log); fclose ($file); } else { - Error::error ( - 500, - array ('error' => array ( - 'Permission is denied for `' - . $file_name . '`') - ) + throw new PermissionDeniedException ( + $file_name, + MinzException::ERROR ); } } diff --git a/lib/minz/exceptions/MinzException.php b/lib/minz/exceptions/MinzException.php index 8fca5ec16..4568c4da8 100644 --- a/lib/minz/exceptions/MinzException.php +++ b/lib/minz/exceptions/MinzException.php @@ -19,7 +19,7 @@ class MinzException extends Exception { class PermissionDeniedException extends MinzException { public function __construct ($file_name, $code = self::ERROR) { $message = 'Permission is denied for `' . $file_name.'`'; - + parent::__construct ($message, $code); } } @@ -33,7 +33,7 @@ class FileNotExistException extends MinzException { class BadConfigurationException extends MinzException { public function __construct ($part_missing, $code = self::ERROR) { $message = '`' . $part_missing - . '` in the configuration file is missing'; + . '` in the configuration file is missing or is misconfigured'; parent::__construct ($message, $code); } |
