mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
3083b01f7d
If an exception was raised in the AppController::beforeFilter(), requests for content-type responses would render as HTML. Extracting the startupProcess() allows us to keep a reference to the error controller, which can be used to force startup RequestHandlerComponent if its enabled. Fixes #3389
86 lines
1.9 KiB
PHP
86 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Error Handling Controller
|
|
*
|
|
* Controller used by ErrorHandler to render error views.
|
|
*
|
|
* PHP 5
|
|
*
|
|
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
|
* Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
|
*
|
|
* Licensed under The MIT License
|
|
* Redistributions of files must retain the above copyright notice.
|
|
*
|
|
* @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
|
|
* @link http://cakephp.org CakePHP(tm) Project
|
|
* @package Cake.Controller
|
|
* @since CakePHP(tm) v 2.0
|
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
|
*/
|
|
|
|
App::uses('AppController', 'Controller');
|
|
|
|
/**
|
|
* Error Handling Controller
|
|
*
|
|
* Controller used by ErrorHandler to render error views.
|
|
*
|
|
* @package Cake.Controller
|
|
*/
|
|
class CakeErrorController extends AppController {
|
|
|
|
/**
|
|
* Controller name
|
|
*
|
|
* @var string
|
|
*/
|
|
public $name = 'CakeError';
|
|
|
|
/**
|
|
* Uses Property
|
|
*
|
|
* @var array
|
|
*/
|
|
public $uses = array();
|
|
|
|
/**
|
|
* __construct
|
|
*
|
|
* @param CakeRequest $request
|
|
* @param CakeResponse $response
|
|
*/
|
|
public function __construct($request = null, $response = null) {
|
|
parent::__construct($request, $response);
|
|
if (
|
|
count(Router::extensions()) &&
|
|
!array_key_exists('RequestHandler', $this->components) &&
|
|
!in_array('RequestHandler', $this->components, true)
|
|
) {
|
|
$this->components[] = 'RequestHandler';
|
|
}
|
|
$this->constructClasses();
|
|
if ($this->Components->enabled('Auth')) {
|
|
$this->Components->disable('Auth');
|
|
}
|
|
if ($this->Components->enabled('Security')) {
|
|
$this->Components->disable('Security');
|
|
}
|
|
$this->_set(array('cacheAction' => false, 'viewPath' => 'Errors'));
|
|
}
|
|
|
|
/**
|
|
* Escapes the viewVars.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function beforeRender() {
|
|
parent::beforeRender();
|
|
foreach ($this->viewVars as $key => $value) {
|
|
if (!is_object($value)) {
|
|
$this->viewVars[$key] = h($value);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|