1: <?php
2: /**
3: * Error Handling Controller
4: *
5: * Controller used by ErrorHandler to render error views.
6: *
7: * PHP 5
8: *
9: * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
10: * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
11: *
12: * Licensed under The MIT License
13: * Redistributions of files must retain the above copyright notice.
14: *
15: * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
16: * @link http://cakephp.org CakePHP(tm) Project
17: * @package Cake.Controller
18: * @since CakePHP(tm) v 2.0
19: * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
20: */
21:
22: App::uses('AppController', 'Controller');
23:
24: /**
25: * Error Handling Controller
26: *
27: * Controller used by ErrorHandler to render error views.
28: *
29: * @package Cake.Controller
30: */
31: class CakeErrorController extends AppController {
32:
33: /**
34: * Controller name
35: *
36: * @var string
37: */
38: public $name = 'CakeError';
39:
40: /**
41: * Uses Property
42: *
43: * @var array
44: */
45: public $uses = array();
46:
47: /**
48: * __construct
49: *
50: * @param CakeRequest $request
51: * @param CakeResponse $response
52: */
53: public function __construct($request = null, $response = null) {
54: parent::__construct($request, $response);
55: $this->constructClasses();
56: if (count(Router::extensions()) &&
57: !$this->Components->attached('RequestHandler')
58: ) {
59: $this->RequestHandler = $this->Components->load('RequestHandler');
60: }
61: if ($this->Components->enabled('Auth')) {
62: $this->Components->disable('Auth');
63: }
64: if ($this->Components->enabled('Security')) {
65: $this->Components->disable('Security');
66: }
67: $this->_set(array('cacheAction' => false, 'viewPath' => 'Errors'));
68: }
69:
70: /**
71: * Escapes the viewVars.
72: *
73: * @return void
74: */
75: public function beforeRender() {
76: parent::beforeRender();
77: foreach ($this->viewVars as $key => $value) {
78: if (!is_object($value)) {
79: $this->viewVars[$key] = h($value);
80: }
81: }
82: }
83:
84: }
85: