PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.2.2
Kirki – Freeform Page Builder, Website Builder & Customizer v6.2.2
6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.0 6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / vendor / enshrined / svg-sanitize / src / Helper.php
kirki / vendor / enshrined / svg-sanitize / src Last commit date
ElementReference 3 months ago Exceptions 3 months ago data 3 months ago Helper.php 3 months ago Sanitizer.php 3 months ago svg-scanner.php 3 months ago
Helper.php
54 lines
1 <?php
2 namespace enshrined\svgSanitize;
3
4 class Helper
5 {
6 /**
7 * @param \DOMElement $element
8 * @return string|null
9 */
10 public static function getElementHref(\DOMElement $element)
11 {
12 if ($element->hasAttribute('href')) {
13 return $element->getAttribute('href');
14 }
15 if ($element->hasAttributeNS('http://www.w3.org/1999/xlink', 'href')) {
16 return $element->getAttributeNS('http://www.w3.org/1999/xlink', 'href');
17 }
18 return null;
19 }
20
21 /**
22 * @param string $href
23 * @return string|null
24 */
25 public static function extractIdReferenceFromHref($href)
26 {
27 if (!is_string($href) || strpos($href, '#') !== 0) {
28 return null;
29 }
30 return substr($href, 1);
31 }
32
33 /**
34 * @param \DOMElement $needle
35 * @param \DOMElement $haystack
36 * @return bool
37 */
38 public static function isElementContainedIn(\DOMElement $needle, \DOMElement $haystack)
39 {
40 if ($needle === $haystack) {
41 return true;
42 }
43 foreach ($haystack->childNodes as $childNode) {
44 if (!$childNode instanceof \DOMElement) {
45 continue;
46 }
47 if (self::isElementContainedIn($needle, $childNode)) {
48 return true;
49 }
50 }
51 return false;
52 }
53 }
54