Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
AutoEscape.php
01 <?php
02
03 /*
04 * This file is part of Twig.
05 *
06 * (c) 2009 Fabien Potencier
07 *
08 * For the full copyright and license information, please view the LICENSE
09 * file that was distributed with this source code.
10 */
11
12 /**
13 * Marks a section of a template to be escaped or not.
14 *
15 * <pre>
16 * {% autoescape true %}
17 * Everything will be automatically escaped in this block
18 * {% endautoescape %}
19 *
20 * {% autoescape false %}
21 * Everything will be outputed as is in this block
22 * {% endautoescape %}
23 *
24 * {% autoescape true js %}
25 * Everything will be automatically escaped in this block
26 * using the js escaping strategy
27 * {% endautoescape %}
28 * </pre>
29 */
30 class Twig_TokenParser_AutoEscape extends Twig_TokenParser
31 {
32 public function parse(Twig_Token $token)
33 {
34 $lineno = $token->getLine();
35 $stream = $this->parser->getStream();
36
37 if ($stream->test(Twig_Token::BLOCK_END_TYPE)) {
38 $value = 'html';
39 } else {
40 $expr = $this->parser->getExpressionParser()->parseExpression();
41 if (!$expr instanceof Twig_Node_Expression_Constant) {
42 throw new Twig_Error_Syntax('An escaping strategy must be a string or a bool.', $stream->getCurrent()->getLine(), $stream->getFilename());
43 }
44 $value = $expr->getAttribute('value');
45
46 $compat = true === $value || false === $value;
47
48 if (true === $value) {
49 $value = 'html';
50 }
51
52 if ($compat && $stream->test(Twig_Token::NAME_TYPE)) {
53 @trigger_error('Using the autoescape tag with "true" or "false" before the strategy name is deprecated since version 1.21.', E_USER_DEPRECATED);
54
55 if (false === $value) {
56 throw new Twig_Error_Syntax('Unexpected escaping strategy as you set autoescaping to false.', $stream->getCurrent()->getLine(), $stream->getFilename());
57 }
58
59 $value = $stream->next()->getValue();
60 }
61 }
62
63 $stream->expect(Twig_Token::BLOCK_END_TYPE);
64 $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
65 $stream->expect(Twig_Token::BLOCK_END_TYPE);
66
67 return new Twig_Node_AutoEscape($value, $body, $lineno, $this->getTag());
68 }
69
70 public function decideBlockEnd(Twig_Token $token)
71 {
72 return $token->test('endautoescape');
73 }
74
75 public function getTag()
76 {
77 return 'autoescape';
78 }
79 }
80