Blame view

vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php 910 Bytes
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  <?php
  
  /**
   * This variable parser uses PHP's internal code engine. Because it does
   * this, it can represent all inputs; however, it is dangerous and cannot
   * be used by users.
   */
  class HTMLPurifier_VarParser_Native extends HTMLPurifier_VarParser
  {
  
      /**
       * @param mixed $var
       * @param int $type
       * @param bool $allow_null
       * @return null|string
       */
      protected function parseImplementation($var, $type, $allow_null)
      {
          return $this->evalExpression($var);
      }
  
      /**
       * @param string $expr
       * @return mixed
       * @throws HTMLPurifier_VarParserException
       */
      protected function evalExpression($expr)
      {
          $var = null;
          $result = eval("\$var = $expr;");
          if ($result === false) {
              throw new HTMLPurifier_VarParserException("Fatal error in evaluated code");
          }
          return $var;
      }
  }
  
  // vim: et sw=4 sts=4