summaryrefslogtreecommitdiffstats
path: root/application/controllers/ErrorController.php
diff options
context:
space:
mode:
authorSimon2011-01-17 13:18:35 +0100
committerSimon2011-01-17 13:18:35 +0100
commit875dbf26df46068d505070807ae8eb787ebc79f4 (patch)
treedf93776fb62b4cfe8eca71de581d5e17eec2b7ce /application/controllers/ErrorController.php
parentzend lokal einrichten (diff)
downloadpbs2-875dbf26df46068d505070807ae8eb787ebc79f4.tar.gz
pbs2-875dbf26df46068d505070807ae8eb787ebc79f4.tar.xz
pbs2-875dbf26df46068d505070807ae8eb787ebc79f4.zip
Initialize Zend
Diffstat (limited to 'application/controllers/ErrorController.php')
-rw-r--r--application/controllers/ErrorController.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/application/controllers/ErrorController.php b/application/controllers/ErrorController.php
new file mode 100644
index 0000000..5bb2749
--- /dev/null
+++ b/application/controllers/ErrorController.php
@@ -0,0 +1,51 @@
+<?php
+
+class ErrorController extends Zend_Controller_Action
+{
+
+ public function errorAction()
+ {
+ $errors = $this->_getParam('error_handler');
+
+ switch ($errors->type) {
+ case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
+ case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
+ case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
+
+ // 404 error -- controller or action not found
+ $this->getResponse()->setHttpResponseCode(404);
+ $this->view->message = 'Page not found';
+ break;
+ default:
+ // application error
+ $this->getResponse()->setHttpResponseCode(500);
+ $this->view->message = 'Application error';
+ break;
+ }
+
+ // Log exception, if logger available
+ if ($log = $this->getLog()) {
+ $log->crit($this->view->message, $errors->exception);
+ }
+
+ // conditionally display exceptions
+ if ($this->getInvokeArg('displayExceptions') == true) {
+ $this->view->exception = $errors->exception;
+ }
+
+ $this->view->request = $errors->request;
+ }
+
+ public function getLog()
+ {
+ $bootstrap = $this->getInvokeArg('bootstrap');
+ if (!$bootstrap->hasPluginResource('Log')) {
+ return false;
+ }
+ $log = $bootstrap->getResource('Log');
+ return $log;
+ }
+
+
+}
+