~ubuntu-branches/debian/experimental/php-nette/experimental

« back to all changes in this revision

Viewing changes to Nette-2.1.0RC/Nette/Application/ErrorPresenter.php

  • Committer: Package Import Robot
  • Author(s): David Prévot
  • Date: 2013-11-30 08:47:54 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20131130084754-4udf1xsu9085tnfc
Tags: 2.1.0~rc-1
* New upstream branch
* Update copyright

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
/**
 
4
 * This file is part of the Nette Framework (http://nette.org)
 
5
 *
 
6
 * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
 
7
 *
 
8
 * For the full copyright and license information, please view
 
9
 * the file license.txt that was distributed with this source code.
 
10
 */
 
11
 
 
12
namespace NetteModule;
 
13
 
 
14
use Nette,
 
15
        Nette\Application,
 
16
        Nette\Diagnostics\Debugger;
 
17
 
 
18
 
 
19
/**
 
20
 * Default Error Presenter.
 
21
 *
 
22
 * @author     David Grudl
 
23
 */
 
24
class ErrorPresenter extends Nette\Object implements Application\IPresenter
 
25
{
 
26
 
 
27
        /**
 
28
         * @return Application\IResponse
 
29
         */
 
30
        public function run(Application\Request $request)
 
31
        {
 
32
                $e = $request->parameters['exception'];
 
33
                if ($e instanceof Application\BadRequestException) {
 
34
                        $code = $e->getCode();
 
35
                } else {
 
36
                        $code = 500;
 
37
                        Debugger::log($e, Debugger::ERROR);
 
38
                }
 
39
                ob_start();
 
40
                require __DIR__ . '/templates/error.phtml';
 
41
                return new Application\Responses\TextResponse(ob_get_clean());
 
42
        }
 
43
 
 
44
}