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 |
DisallowNodeByXPath.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 DisallowNodeByXPath extends TemplateCheck
17 {
18 /**
19 * @var string XPath query used for locating nodes
20 */
21 public $query;
22
23 /**
24 * Constructor
25 *
26 * @param string $query XPath query used for locating nodes
27 */
28 public function __construct($query)
29 {
30 $this->query = $query;
31 }
32
33 /**
34 * Test for the presence of an element of given name
35 *
36 * @param DOMElement $template <xsl:template/> node
37 * @param Tag $tag Tag this template belongs to
38 * @return void
39 */
40 public function check(DOMElement $template, Tag $tag)
41 {
42 $xpath = new DOMXPath($template->ownerDocument);
43
44 foreach ($xpath->query($this->query) as $node)
45 {
46 throw new UnsafeTemplateException("Node '" . $node->nodeName . "' is disallowed because it matches '" . $this->query . "'", $node);
47 }
48 }
49 }