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 Nette\Templating;
13:
14: use Nette;
15:
16:
17:
18: /**
19: * The exception occured during template compilation.
20: *
21: * @author David Grudl
22: */
23: class FilterException extends Nette\InvalidStateException
24: {
25: /** @var string */
26: public $sourceFile;
27:
28: /** @var int */
29: public $sourceLine;
30:
31:
32:
33: public function __construct($message, $code = 0, $sourceLine = 0)
34: {
35: $this->sourceLine = (int) $sourceLine;
36: parent::__construct($message, $code);
37: }
38:
39:
40:
41: public function setSourceFile($file)
42: {
43: $this->sourceFile = (string) $file;
44: $this->message = rtrim($this->message, '.') . " in " . str_replace(dirname(dirname($file)), '...', $file)
45: . ($this->sourceLine ? ":$this->sourceLine" : '');
46: }
47:
48: }
49: