summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-11-09 21:33:43 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-11-09 21:33:43 +0100
commita1fa4a445ad6a8b12fe606764588b619edab8d8f (patch)
tree27a24450906d0853ad28527e69f3d4a04ec0f666 /lib
parent33b68a801734999504d3dfe811bb71582f7b9b0d (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-xlib/minz/Configuration.php14
-rwxr-xr-xlib/minz/FrontController.php18
-rw-r--r--lib/minz/Minz_Log.php9
-rw-r--r--lib/minz/exceptions/MinzException.php4
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);
}