diff options
| author | Simon | 2011-01-17 13:18:35 +0100 |
|---|---|---|
| committer | Simon | 2011-01-17 13:18:35 +0100 |
| commit | 875dbf26df46068d505070807ae8eb787ebc79f4 (patch) | |
| tree | df93776fb62b4cfe8eca71de581d5e17eec2b7ce /application/controllers/ErrorController.php | |
| parent | zend lokal einrichten (diff) | |
| download | pbs2-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.php | 51 |
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; + } + + +} + |
