diff options
author | Nicolas LÅ“uillet <nicolas.loeuillet@gmail.com> | 2014-02-21 15:43:14 +0100 |
---|---|---|
committer | Nicolas LÅ“uillet <nicolas.loeuillet@gmail.com> | 2014-02-21 15:43:14 +0100 |
commit | d4949327efa15b492cab1bef3fe074290a328a17 (patch) | |
tree | e89e0322bb1f1b06d663fd10fdded21bac867e5d /inc/3rdparty/htmlpurifier/HTMLPurifier/VarParser/Native.php | |
parent | c9bd17a1007bb78e5de0775efca01df0fb515031 (diff) | |
download | wallabag-d4949327efa15b492cab1bef3fe074290a328a17.tar.gz wallabag-d4949327efa15b492cab1bef3fe074290a328a17.tar.zst wallabag-d4949327efa15b492cab1bef3fe074290a328a17.zip |
[add] HTML Purifier added to clean code
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/VarParser/Native.php')
-rw-r--r-- | inc/3rdparty/htmlpurifier/HTMLPurifier/VarParser/Native.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/VarParser/Native.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/VarParser/Native.php new file mode 100644 index 00000000..c28055b5 --- /dev/null +++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/VarParser/Native.php | |||
@@ -0,0 +1,38 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * This variable parser uses PHP's internal code engine. Because it does | ||
5 | * this, it can represent all inputs; however, it is dangerous and cannot | ||
6 | * be used by users. | ||
7 | */ | ||
8 | class HTMLPurifier_VarParser_Native extends HTMLPurifier_VarParser | ||
9 | { | ||
10 | |||
11 | /** | ||
12 | * @param mixed $var | ||
13 | * @param int $type | ||
14 | * @param bool $allow_null | ||
15 | * @return null|string | ||
16 | */ | ||
17 | protected function parseImplementation($var, $type, $allow_null) | ||
18 | { | ||
19 | return $this->evalExpression($var); | ||
20 | } | ||
21 | |||
22 | /** | ||
23 | * @param string $expr | ||
24 | * @return mixed | ||
25 | * @throws HTMLPurifier_VarParserException | ||
26 | */ | ||
27 | protected function evalExpression($expr) | ||
28 | { | ||
29 | $var = null; | ||
30 | $result = eval("\$var = $expr;"); | ||
31 | if ($result === false) { | ||
32 | throw new HTMLPurifier_VarParserException("Fatal error in evaluated code"); | ||
33 | } | ||
34 | return $var; | ||
35 | } | ||
36 | } | ||
37 | |||
38 | // vim: et sw=4 sts=4 | ||