diff options
| author | Simon | 2011-03-14 16:17:48 +0100 |
|---|---|---|
| committer | Simon | 2011-03-14 16:17:48 +0100 |
| commit | d583d0071274a8843b3a3cd7b7ec72d5a9942f53 (patch) | |
| tree | 6fd2437ddefc93f94c0fbc3b1edcedcab02dd04a /application/controllers/ErrorController.php | |
| parent | Application in 3 Modules gesplittet, Dev = unsere entwicklungsumgebung, user ... (diff) | |
| download | pbs2-d583d0071274a8843b3a3cd7b7ec72d5a9942f53.tar.gz pbs2-d583d0071274a8843b3a3cd7b7ec72d5a9942f53.tar.xz pbs2-d583d0071274a8843b3a3cd7b7ec72d5a9942f53.zip | |
Zweiter push um die änderungen hinzuzufügen, Trennung der Ansichten
Diffstat (limited to 'application/controllers/ErrorController.php')
| -rw-r--r-- | application/controllers/ErrorController.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/application/controllers/ErrorController.php b/application/controllers/ErrorController.php new file mode 100644 index 0000000..01ee79b --- /dev/null +++ b/application/controllers/ErrorController.php @@ -0,0 +1,52 @@ +<?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'; + print_a($errors); + 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; + } + + +} + |
