78 lines
1.6 KiB
PHP
78 lines
1.6 KiB
PHP
|
<?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;
|
||
|
}
|
||
|
|