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: