mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-06-29 18:14:26 +02:00
This exception should be fired when the OS restricts the web user from executing certain actions. Also the template for errors has been modified so it displays the action and the target that was prevented. refs #4092
47 lines
1.3 KiB
PHP
Executable File
47 lines
1.3 KiB
PHP
Executable File
<?php
|
|
// @codingStandardsIgnoreStart
|
|
// {{{ICINGA_LICENSE_HEADER}}}
|
|
// {{{ICINGA_LICENSE_HEADER}}}
|
|
|
|
# namespace Icinga\Application\Controllers;
|
|
|
|
use Icinga\Web\ActionController;
|
|
|
|
/**
|
|
* Class ErrorController
|
|
* @package Icinga\Application\Controllers
|
|
*/
|
|
class ErrorController extends ActionController
|
|
{
|
|
/**
|
|
*
|
|
*/
|
|
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;
|
|
}
|
|
// conditionally display exceptions
|
|
if ($this->getInvokeArg('displayExceptions') == true) {
|
|
$this->view->exception = $errors->exception;
|
|
}
|
|
|
|
$this->view->request = $errors->request;
|
|
}
|
|
}
|
|
|
|
// @codingStandardsIgnoreEnd
|