diff options
Diffstat (limited to 'inc/contrib/Twig/Extension/Escaper.php')
| -rw-r--r-- | inc/contrib/Twig/Extension/Escaper.php | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/inc/contrib/Twig/Extension/Escaper.php b/inc/contrib/Twig/Extension/Escaper.php new file mode 100644 index 00000000..43ae1113 --- /dev/null +++ b/inc/contrib/Twig/Extension/Escaper.php @@ -0,0 +1,77 @@ +<?php + +/* + * This file is part of Twig. + * + * (c) 2009 Fabien Potencier + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +class Twig_Extension_Escaper extends Twig_Extension +{ + protected $autoescape; + + public function __construct($autoescape = true) + { + $this->autoescape = $autoescape; + } + + /** + * Returns the token parser instances to add to the existing list. + * + * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances + */ + public function getTokenParsers() + { + return array(new Twig_TokenParser_AutoEscape()); + } + + /** + * Returns the node visitor instances to add to the existing list. + * + * @return array An array of Twig_NodeVisitorInterface instances + */ + public function getNodeVisitors() + { + return array(new Twig_NodeVisitor_Escaper()); + } + + /** + * Returns a list of filters to add to the existing list. + * + * @return array An array of filters + */ + public function getFilters() + { + return array( + 'raw' => new Twig_Filter_Function('twig_raw_filter', array('is_safe' => array('all'))), + ); + } + + public function isGlobal() + { + return $this->autoescape; + } + + /** + * Returns the name of the extension. + * + * @return string The extension name + */ + public function getName() + { + return 'escaper'; + } +} + +/** + * Marks a variable as being safe. + * + * @param string $string A PHP variable + */ +function twig_raw_filter($string) +{ + return $string; +} + |
