[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/twig/twig/src/Node/ -> SandboxNode.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of Twig.
   5   *
   6   * (c) 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  
  12  namespace Twig\Node;
  13  
  14  use Twig\Compiler;
  15  
  16  /**
  17   * Represents a sandbox node.
  18   *
  19   * @author Fabien Potencier <fabien@symfony.com>
  20   */
  21  class SandboxNode extends Node
  22  {
  23      public function __construct(\Twig_NodeInterface $body, $lineno, $tag = null)
  24      {
  25          parent::__construct(['body' => $body], [], $lineno, $tag);
  26      }
  27  
  28      public function compile(Compiler $compiler)
  29      {
  30          $compiler
  31              ->addDebugInfo($this)
  32              ->write("if (!\$alreadySandboxed = \$this->sandbox->isSandboxed()) {\n")
  33              ->indent()
  34              ->write("\$this->sandbox->enableSandbox();\n")
  35              ->outdent()
  36              ->write("}\n")
  37              ->subcompile($this->getNode('body'))
  38              ->write("if (!\$alreadySandboxed) {\n")
  39              ->indent()
  40              ->write("\$this->sandbox->disableSandbox();\n")
  41              ->outdent()
  42              ->write("}\n")
  43          ;
  44      }
  45  }
  46  
  47  class_alias('Twig\Node\SandboxNode', 'Twig_Node_Sandbox');


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1