[ Index ] |
PHP Cross Reference of phpBB-3.1.12-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 * This file is part of Twig. 5 * 6 * (c) 2009 Fabien Potencier 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 class Twig_Extension_Escaper extends Twig_Extension 12 { 13 protected $defaultStrategy; 14 15 /** 16 * Constructor. 17 * 18 * @param string|false|callable $defaultStrategy An escaping strategy 19 * 20 * @see setDefaultStrategy() 21 */ 22 public function __construct($defaultStrategy = 'html') 23 { 24 $this->setDefaultStrategy($defaultStrategy); 25 } 26 27 public function getTokenParsers() 28 { 29 return array(new Twig_TokenParser_AutoEscape()); 30 } 31 32 public function getNodeVisitors() 33 { 34 return array(new Twig_NodeVisitor_Escaper()); 35 } 36 37 public function getFilters() 38 { 39 return array( 40 new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))), 41 ); 42 } 43 44 /** 45 * Sets the default strategy to use when not defined by the user. 46 * 47 * The strategy can be a valid PHP callback that takes the template 48 * "filename" as an argument and returns the strategy to use. 49 * 50 * @param string|false|callable $defaultStrategy An escaping strategy 51 */ 52 public function setDefaultStrategy($defaultStrategy) 53 { 54 // for BC 55 if (true === $defaultStrategy) { 56 @trigger_error('Using "true" as the default strategy is deprecated since version 1.21. Use "html" instead.', E_USER_DEPRECATED); 57 58 $defaultStrategy = 'html'; 59 } 60 61 if ('filename' === $defaultStrategy) { 62 $defaultStrategy = array('Twig_FileExtensionEscapingStrategy', 'guess'); 63 } 64 65 $this->defaultStrategy = $defaultStrategy; 66 } 67 68 /** 69 * Gets the default strategy to use when not defined by the user. 70 * 71 * @param string $filename The template "filename" 72 * 73 * @return string|false The default strategy to use for the template 74 */ 75 public function getDefaultStrategy($filename) 76 { 77 // disable string callables to avoid calling a function named html or js, 78 // or any other upcoming escaping strategy 79 if (!is_string($this->defaultStrategy) && false !== $this->defaultStrategy) { 80 return call_user_func($this->defaultStrategy, $filename); 81 } 82 83 return $this->defaultStrategy; 84 } 85 86 public function getName() 87 { 88 return 'escaper'; 89 } 90 } 91 92 /** 93 * Marks a variable as being safe. 94 * 95 * @param string $string A PHP variable 96 * 97 * @return string 98 */ 99 function twig_raw_filter($string) 100 { 101 return $string; 102 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Jan 11 00:25:41 2018 | Cross-referenced by PHPXref 0.7.1 |