Overview

Namespaces

  • App
    • Components
    • Interfaces
    • Lib
      • Files
      • Forms
        • Controls
      • Html
      • Repair
      • Statics
    • Model
    • Modules
      • BaseModule
        • Presenters
      • PartnersModule
        • Presenters
      • ProductModule
        • Presenters
      • SaleModule
        • Model
        • Presenters
      • SettingsModule
        • Model
        • Presenters
      • StoreModule
        • Model
        • Presenters
    • Presenters
    • Router
  • PHP

Classes

  • DateTime
  • SplFileInfo

Interfaces

  • ArrayAccess
  • Countable
  • Exception
  • Iterator
  • Traversable
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Download
 1: <?php
 2: 
 3: /**
 4:  * Project sberp
 5:  *
 6:  * @file ErrorPresenter
 7:  * @author Jaromír Polášek
 8:  * @version 0.8.1.MODULES
 9:  * Encoding UTF-8
10:  */
11: namespace App\Modules\BaseModule\Presenters;
12: 
13: use Nette,
14:     App\Presenters\BasePresenter,
15:     Tracy\Debugger;
16: 
17: 
18: /**
19:  * Error presenter.
20:  */
21: class ErrorPresenter extends BasePresenter
22: {
23: 
24:     /**
25:      * @param  Exception
26:      * @return void
27:      */
28:     public function renderDefault($exception)
29:     {
30:         if ($exception instanceof Nette\Application\BadRequestException) {
31:             $code = $exception->getCode();
32:             // load template 403.latte or 404.latte or ... 4xx.latte
33:             $this->setView(in_array($code, array(403, 404, 405, 410, 500)) ? $code : '4xx');
34:             // log to access.log
35:             Debugger::log("HTTP code $code: {$exception->getMessage()} in {$exception->getFile()}:{$exception->getLine()}", 'access');
36: 
37:         } else {
38:             $this->setView('500'); // load template 500.latte
39:             Debugger::log($exception, Debugger::EXCEPTION); // and log exception
40:         }
41: 
42:         if ($this->isAjax()) { // AJAX request? Note this error in payload.
43:             $this->payload->error = TRUE;
44:             $this->terminate();
45:         }
46:     }
47: 
48: }
49: 
sberp API API documentation generated by ApiGen