Verzeichnisstruktur phpBB-3.1.0


Veröffentlicht
27.10.2014

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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

Escaper.php

Zuletzt modifiziert: 09.10.2024, 12:58 - Dateigröße: 2.70 KiB


001  <?php
002   
003  /*
004   * This file is part of Twig.
005   *
006   * (c) 2009 Fabien Potencier
007   *
008   * For the full copyright and license information, please view the LICENSE
009   * file that was distributed with this source code.
010   */
011  class Twig_Extension_Escaper extends Twig_Extension
012  {
013      protected $defaultStrategy;
014   
015      public function __construct($defaultStrategy = 'html')
016      {
017          $this->setDefaultStrategy($defaultStrategy);
018      }
019   
020      /**
021       * Returns the token parser instances to add to the existing list.
022       *
023       * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
024       */
025      public function getTokenParsers()
026      {
027          return array(new Twig_TokenParser_AutoEscape());
028      }
029   
030      /**
031       * Returns the node visitor instances to add to the existing list.
032       *
033       * @return array An array of Twig_NodeVisitorInterface instances
034       */
035      public function getNodeVisitors()
036      {
037          return array(new Twig_NodeVisitor_Escaper());
038      }
039   
040      /**
041       * Returns a list of filters to add to the existing list.
042       *
043       * @return array An array of filters
044       */
045      public function getFilters()
046      {
047          return array(
048              new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))),
049          );
050      }
051   
052      /**
053       * Sets the default strategy to use when not defined by the user.
054       *
055       * The strategy can be a valid PHP callback that takes the template
056       * "filename" as an argument and returns the strategy to use.
057       *
058       * @param mixed $defaultStrategy An escaping strategy
059       */
060      public function setDefaultStrategy($defaultStrategy)
061      {
062          // for BC
063          if (true === $defaultStrategy) {
064              $defaultStrategy = 'html';
065          }
066   
067          $this->defaultStrategy = $defaultStrategy;
068      }
069   
070      /**
071       * Gets the default strategy to use when not defined by the user.
072       *
073       * @param string $filename The template "filename"
074       *
075       * @return string The default strategy to use for the template
076       */
077      public function getDefaultStrategy($filename)
078      {
079          // disable string callables to avoid calling a function named html or js,
080          // or any other upcoming escaping strategy
081          if (!is_string($this->defaultStrategy) && is_callable($this->defaultStrategy)) {
082              return call_user_func($this->defaultStrategy, $filename);
083          }
084   
085          return $this->defaultStrategy;
086      }
087   
088      /**
089       * Returns the name of the extension.
090       *
091       * @return string The extension name
092       */
093      public function getName()
094      {
095          return 'escaper';
096      }
097  }
098   
099  /**
100   * Marks a variable as being safe.
101   *
102   * @param string $string A PHP variable
103   */
104  function twig_raw_filter($string)
105  {
106      return $string;
107  }
108