Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
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. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
Sandbox.php
01 <?php
02
03 /*
04 * This file is part of Twig.
05 *
06 * (c) 2009 Fabien Potencier
07 *
08 * For the full copyright and license information, please view the LICENSE
09 * file that was distributed with this source code.
10 */
11 class Twig_Extension_Sandbox extends Twig_Extension
12 {
13 protected $sandboxedGlobally;
14 protected $sandboxed;
15 protected $policy;
16
17 public function __construct(Twig_Sandbox_SecurityPolicyInterface $policy, $sandboxed = false)
18 {
19 $this->policy = $policy;
20 $this->sandboxedGlobally = $sandboxed;
21 }
22
23 public function getTokenParsers()
24 {
25 return array(new Twig_TokenParser_Sandbox());
26 }
27
28 public function getNodeVisitors()
29 {
30 return array(new Twig_NodeVisitor_Sandbox());
31 }
32
33 public function enableSandbox()
34 {
35 $this->sandboxed = true;
36 }
37
38 public function disableSandbox()
39 {
40 $this->sandboxed = false;
41 }
42
43 public function isSandboxed()
44 {
45 return $this->sandboxedGlobally || $this->sandboxed;
46 }
47
48 public function isSandboxedGlobally()
49 {
50 return $this->sandboxedGlobally;
51 }
52
53 public function setSecurityPolicy(Twig_Sandbox_SecurityPolicyInterface $policy)
54 {
55 $this->policy = $policy;
56 }
57
58 public function getSecurityPolicy()
59 {
60 return $this->policy;
61 }
62
63 public function checkSecurity($tags, $filters, $functions)
64 {
65 if ($this->isSandboxed()) {
66 $this->policy->checkSecurity($tags, $filters, $functions);
67 }
68 }
69
70 public function checkMethodAllowed($obj, $method)
71 {
72 if ($this->isSandboxed()) {
73 $this->policy->checkMethodAllowed($obj, $method);
74 }
75 }
76
77 public function checkPropertyAllowed($obj, $method)
78 {
79 if ($this->isSandboxed()) {
80 $this->policy->checkPropertyAllowed($obj, $method);
81 }
82 }
83
84 public function ensureToStringAllowed($obj)
85 {
86 if ($this->isSandboxed() && is_object($obj)) {
87 $this->policy->checkMethodAllowed($obj, '__toString');
88 }
89
90 return $obj;
91 }
92
93 public function getName()
94 {
95 return 'sandbox';
96 }
97 }
98