[BUGFIX] Prevent double content link checks 12/26512/6
authorMathias Schreiber <mathias.schreiber@wmdb.de>
Thu, 18 Dec 2014 09:45:12 +0000 (10:45 +0100)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Sat, 20 Dec 2014 09:46:56 +0000 (10:46 +0100)
When a link points to a content element by using it's anchor behind
the page UID the reference index contains two entries for this link,
one for the linked page and one for the linked content element.

Since the content element is already checked when the page link is
validated by extracting the anchor element from the URL it is not
required to handle any other references than those starting with
"pages:". This prevents content elements from being treated as pages.

Resolves: #50772
Releases: master, 6.2
Change-Id: I5337ea01614eee2228fe09936f49a88b5ea96e5d
Reviewed-on: http://review.typo3.org/26512
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
typo3/sysext/linkvalidator/Classes/Linktype/InternalLinktype.php

index 625e75e..c15a0cb 100644 (file)
@@ -76,9 +76,9 @@ class InternalLinktype extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktyp
                $this->responseContent = TRUE;
                // Might already contain values - empty it
                unset($this->errorParams);
-               // Ignore FAL file references
-               if (substr($url, 0, 5) === 'file:') {
-                       // @todo validate this resource file
+               // Only check pages records. Content elements will also be checked
+               // as we extract the anchor in the next step.
+               if (strpos($softRefEntry['substr']['recordRef'], 'pages:') !== 0) {
                        return TRUE;
                }
                // Defines the linked page and anchor (if any).