1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
<?php
/* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
/** * Default autoescaping strategy based on file names. * * This strategy sets the HTML as the default autoescaping strategy, * but changes it based on the template name. * * Note that there is no runtime performance impact as the * default autoescaping strategy is set at compilation time. * * @author Fabien Potencier <fabien@symfony.com> */ class Twig_FileExtensionEscapingStrategy { /** * Guesses the best autoescaping strategy based on the file name. * * @param string $name The template name * * @return string|false The escaping strategy name to use or false to disable */ public static function guess($name) { if (in_array(substr($name, -1), array('/', '\\'))) { return 'html'; // return html for directories }
if ('.twig' === substr($name, -5)) { $name = substr($name, 0, -5); }
$extension = pathinfo($name, PATHINFO_EXTENSION);
switch ($extension) { case 'js': return 'js';
case 'css': return 'css';
case 'txt': return false;
default: return 'html'; } } }
class_alias('Twig_FileExtensionEscapingStrategy', 'Twig\FileExtensionEscapingStrategy', false);
|