diff --git a/Classes/Validation/DomDocumentUrlExistenceValidator.php b/Classes/Validation/DomDocumentUrlExistenceValidator.php index 85480bf9..eb04e949 100644 --- a/Classes/Validation/DomDocumentUrlExistenceValidator.php +++ b/Classes/Validation/DomDocumentUrlExistenceValidator.php @@ -42,16 +42,22 @@ */ class DomDocumentUrlExistenceValidator extends AbstractDlfValidator { + + /** + * Excluded host names separated by comma. + * @var array + */ private array $excludeHosts; public function __construct(array $configuration = []) { parent::__construct(DOMDocument::class); - $this->excludeHosts = isset($configuration["excludeHosts"]) ? explode(",", $configuration["excludeHosts"]) : []; + $this->excludeHosts = []; + if (isset($configuration["excludeHosts"])) { + $this->excludeHosts = explode(",", $configuration["excludeHosts"]); + } } - - protected function isValid($value): void { foreach ($this->getDocumentUrls($value) as $url) { @@ -69,7 +75,8 @@ protected function isValid($value): void */ protected function getDocumentUrls(DOMDocument $document): array { - $tempDocument = clone $document; // do not modify original document + // do not modify original document + $tempDocument = clone $document; $urls = $this->getFileUrlAndRemoveFileGroups($tempDocument); // get the urls of document without file group nodes @@ -105,7 +112,8 @@ protected function getFileUrlAndRemoveFileGroups(DOMDocument $document): array $urls[] = $url; } } - $hosts = []; // reset to check for every file group + // reset to check for every file group + $hosts = []; $fileGroup->parentNode->removeChild($fileGroup); } return $urls; diff --git a/Tests/Unit/Validation/DomDocumentUrlExistenceValidatorTest.php b/Tests/Unit/Validation/DomDocumentUrlExistenceValidatorTest.php index 56812e22..7192c274 100644 --- a/Tests/Unit/Validation/DomDocumentUrlExistenceValidatorTest.php +++ b/Tests/Unit/Validation/DomDocumentUrlExistenceValidatorTest.php @@ -51,6 +51,6 @@ protected function createValidator(): AbstractDlfValidator { // ignore all urls of fixture xml to test specifically $excludeHosts = 'www.loc.gov,id.loc.gov,example.com,dfg-viewer.de,www.w3.org'; - return new DomDocumentUrlExistenceValidator(array('excludeHosts' => $excludeHosts)); + return new DomDocumentUrlExistenceValidator(['excludeHosts' => $excludeHosts]); } }