CakeErrorController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. App::uses('AppController', 'Controller');
  22. /**
  23. * Error Handling Controller
  24. *
  25. * Controller used by ErrorHandler to render error views.
  26. *
  27. * @package Cake.Controller
  28. */
  29. class CakeErrorController extends AppController {
  30. /**
  31. * Controller name
  32. *
  33. * @var string
  34. */
  35. public $name = 'CakeError';
  36. /**
  37. * Uses Property
  38. *
  39. * @var array
  40. */
  41. public $uses = array();
  42. /**
  43. * __construct
  44. *
  45. * @param CakeRequest $request
  46. * @param CakeResponse $response
  47. */
  48. public function __construct($request = null, $response = null) {
  49. parent::__construct($request, $response);
  50. if (count(Router::extensions())) {
  51. $this->components[] = 'RequestHandler';
  52. }
  53. $this->constructClasses();
  54. if ($this->Components->enabled('Auth')) {
  55. $this->Components->disable('Auth');
  56. }
  57. if ($this->Components->enabled('Security')) {
  58. $this->Components->disable('Security');
  59. }
  60. $this->startupProcess();
  61. $this->_set(array('cacheAction' => false, 'viewPath' => 'Errors'));
  62. }
  63. /**
  64. * Escapes the viewVars.
  65. *
  66. * @return void
  67. */
  68. public function beforeRender() {
  69. parent::beforeRender();
  70. foreach ($this->viewVars as $key => $value) {
  71. if (!is_object($value)) {
  72. $this->viewVars[$key] = h($value);
  73. }
  74. }
  75. }
  76. }