diff --git a/lib/svg-sanitizer/composer.json b/lib/svg-sanitizer/composer.json index ed475560e3850871e2f2005621e759c1aa4044d8..8253fdcfb665234ac10c971b739c7b68f8b38368 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 34f56d7c87a105b35f25bd30fe00437aeea2b46b..58c8111848d4dd4cb1770c2afe54ce814faef490 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 0da242f8c7c2f0b88835b81ec13643741a6ff8ef..e5007713c660b82656168036069dad800e1259d6 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