[TASK] Fix CGL violations against DoubleQuoteUsage
[Packages/TYPO3.CMS.git] / typo3 / sysext / linkvalidator / classes / class.tx_linkvalidator_processor.php
index 26a2d0e..10c1128 100644 (file)
@@ -22,6 +22,8 @@
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+$GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
+
 /**
  * This class provides Processing plugin implementation
  *
@@ -30,9 +32,6 @@
  * @package TYPO3
  * @subpackage linkvalidator
  */
-
-$GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
-
 class tx_linkvalidator_Processor {
 
        /**
@@ -105,7 +104,7 @@ class tx_linkvalidator_Processor {
                        // Hook to handle own checks
                if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
                        foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $key => $classRef) {
-                               $this->hookObjectsArr[$key] = &t3lib_div::getUserObj($classRef);
+                               $this->hookObjectsArr[$key] = t3lib_div::getUserObj($classRef);
                        }
                }
        }
@@ -237,6 +236,7 @@ class tx_linkvalidator_Processor {
 
                        // Put together content of all relevant fields
                $haystack = '';
+                       /** @var t3lib_parsehtml $htmlParser */
                $htmlParser = t3lib_div::makeInstance('t3lib_parsehtml');
 
                $idRecord = $record['uid'];
@@ -292,15 +292,20 @@ class tx_linkvalidator_Processor {
                        $type = '';
                        $idRecord = $record['uid'];
                        if (!empty($r)) {
-                                       // Parse string for special TYPO3 <link> tag:
+                                       /** @var tx_linkvalidator_linktype_Abstract $hookObj */
                                foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
                                        $type = $hookObj->fetchType($r, $type, $keyArr);
+                                               // Store the type that was found
+                                               // This prevents overriding by internal validator
+                                       if (!empty($type)) {
+                                               $r['type'] = $type;
+                                       }
                                }
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["substr"] = $r;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["row"] = $record;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["table"] = $table;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["field"] = $field;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["uid"] = $idRecord;
+                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r['tokenID']]['substr'] = $r;
+                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r['tokenID']]['row'] = $record;
+                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r['tokenID']]['table'] = $table;
+                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r['tokenID']]['field'] = $field;
+                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r['tokenID']]['uid'] = $idRecord;
 
                        }
                }
@@ -321,6 +326,8 @@ class tx_linkvalidator_Processor {
                $currentR = array();
                $linkTags = $htmlParser->splitIntoBlock('link', $resultArray['content']);
                $idRecord = $record['uid'];
+               $type = '';
+               $title = '';
                for ($i = 1; $i < count($linkTags); $i += 2) {
                        $referencedRecordType = '';
                        foreach ($resultArray['elements'] as $element) {
@@ -347,17 +354,23 @@ class tx_linkvalidator_Processor {
                                        }
                                }
                        }
+                               /** @var tx_linkvalidator_linktype_Abstract $hookObj */
                        foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
                                $type = $hookObj->fetchType($currentR, $type, $keyArr);
+                                       // Store the type that was found
+                                       // This prevents overriding by internal validator
+                               if (!empty($type)) {
+                                       $currentR['type'] = $type;
+                               }
                        }
 
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["substr"] = $currentR;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["row"] = $record;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["table"] = $table;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["field"] = $field;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["uid"] = $idRecord;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["link_title"] = $title;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["pageAndAnchor"] = $referencedRecordType;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['substr'] = $currentR;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['row'] = $record;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['table'] = $table;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['field'] = $field;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['uid'] = $idRecord;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['link_title'] = $title;
+                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR['tokenID']]['pageAndAnchor'] = $referencedRecordType;
 
                }
        }
@@ -463,7 +476,4 @@ class tx_linkvalidator_Processor {
 
 }
 
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/class.tx_linkvalidator_processor.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/class.tx_linkvalidator_processor.php']);
-}
 ?>
\ No newline at end of file