Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
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 |
DisallowElement.php
01 <?php
02
03 /**
04 * @package s9e\TextFormatter
05 * @copyright Copyright (c) 2010-2022 The s9e authors
06 * @license http://www.opensource.org/licenses/mit-license.php The MIT License
07 */
08 namespace s9e\TextFormatter\Configurator\TemplateChecks;
09
10 use DOMElement;
11 use DOMXPath;
12 use s9e\TextFormatter\Configurator\Exceptions\UnsafeTemplateException;
13 use s9e\TextFormatter\Configurator\Items\Tag;
14 use s9e\TextFormatter\Configurator\TemplateCheck;
15
16 class DisallowElement extends TemplateCheck
17 {
18 /**
19 * @var string Local name of the disallowed element
20 */
21 public $elName;
22
23 /**
24 * Constructor
25 *
26 * @param string $elName Local name of the disallowed element
27 */
28 public function __construct($elName)
29 {
30 // NOTE: the default template normalization rules force elements' names to be lowercase
31 $this->elName = strtolower($elName);
32 }
33
34 /**
35 * Test for the presence of an element of given name
36 *
37 * @param DOMElement $template <xsl:template/> node
38 * @param Tag $tag Tag this template belongs to
39 * @return void
40 */
41 public function check(DOMElement $template, Tag $tag)
42 {
43 $xpath = new DOMXPath($template->ownerDocument);
44 $query
45 = '//*[translate(local-name(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz") = "' . $this->elName . '"]'
46 . '|'
47 . '//xsl:element[translate(@name,"ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz") = "' . $this->elName . '"]';
48
49 $node = $xpath->query($query)->item(0);
50 if ($node)
51 {
52 throw new UnsafeTemplateException("Element '" . $this->elName . "' is disallowed", $node);
53 }
54 }
55 }