From dce4db05eb1d19a672894b386ea987ae99aeb5ad Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Sun, 16 Jan 2022 00:30:37 +0100
Subject: [PATCH] SVG Sanitizer en version 0.14.1

---
 lib/svg-sanitizer/composer.json       | 9 ++++++---
 lib/svg-sanitizer/src/Sanitizer.php   | 4 ++--
 lib/svg-sanitizer/src/svg-scanner.php | 7 ++++++-
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/lib/svg-sanitizer/composer.json b/lib/svg-sanitizer/composer.json
index ed475560..8253fdcf 100644
--- a/lib/svg-sanitizer/composer.json
+++ b/lib/svg-sanitizer/composer.json
@@ -8,6 +8,9 @@
             "email": "daryll@enshrined.co.uk"
         }
     ],
+    "scripts": {
+        "test": "phpunit --no-coverage"
+    },
     "autoload": {
         "psr-4": {
             "enshrined\\svgSanitize\\": "src"
@@ -18,13 +21,13 @@
             "enshrined\\svgSanitize\\Tests\\": "tests"
         }
     },
-    "minimum-stability": "stable",
     "require": {
         "ext-dom": "*",
-        "ext-libxml": "*"
+        "ext-libxml": "*",
+        "php": "^7.0 || ^8.0"
     },
     "require-dev": {
-        "phpunit/phpunit": "^6",
+        "phpunit/phpunit": "^6.5 || ^8.5",
         "codeclimate/php-test-reporter": "^0.1.2"
     }
 }
diff --git a/lib/svg-sanitizer/src/Sanitizer.php b/lib/svg-sanitizer/src/Sanitizer.php
index 34f56d7c..58c81118 100644
--- a/lib/svg-sanitizer/src/Sanitizer.php
+++ b/lib/svg-sanitizer/src/Sanitizer.php
@@ -208,8 +208,6 @@ class Sanitizer
             return false;
         }
 
-        $this->removeDoctype();
-
         // Pre-process all identified elements
         $xPath = new XPath($this->xmlDocument);
         $this->elementReferenceResolver = new Resolver($xPath, $this->useNestingLimit);
@@ -219,6 +217,8 @@ class Sanitizer
         // Grab all the elements
         $allElements = $this->xmlDocument->getElementsByTagName("*");
 
+        // remove doctype after node elements have been analyzed
+        $this->removeDoctype();
         // Start the cleaning proccess
         $this->startClean($allElements, $elementsToRemove);
 
diff --git a/lib/svg-sanitizer/src/svg-scanner.php b/lib/svg-sanitizer/src/svg-scanner.php
index 0da242f8..e5007713 100644
--- a/lib/svg-sanitizer/src/svg-scanner.php
+++ b/lib/svg-sanitizer/src/svg-scanner.php
@@ -12,9 +12,14 @@ require_once( __DIR__ . '/data/AttributeInterface.php' );
 require_once( __DIR__ . '/data/TagInterface.php' );
 require_once( __DIR__ . '/data/AllowedAttributes.php' );
 require_once( __DIR__ . '/data/AllowedTags.php' );
+require_once( __DIR__ . '/data/XPath.php' );
+require_once( __DIR__ . '/ElementReference/Resolver.php' );
+require_once( __DIR__ . '/ElementReference/Subject.php' );
+require_once( __DIR__ . '/ElementReference/Usage.php' );
+require_once( __DIR__ . '/Exceptions/NestingException.php' );
+require_once( __DIR__ . '/Helper.php' );
 require_once( __DIR__ . '/Sanitizer.php' );
 
-
 /*
  * Print array as JSON and then
  * exit program with a particular
-- 
GitLab