[BUGFIX] Fatal error with E_STRICT: Declarations of fetchType and
authorChristopher <chrissitopher@gmx.de>
Fri, 26 Aug 2011 16:05:29 +0000 (18:05 +0200)
committerChristopher <chrissitopher@gmx.de>
Fri, 26 Aug 2011 16:05:29 +0000 (18:05 +0200)
checkLink must be compatible with interface

The cleanup of external url validator introduced type hints
in the method. This results in a fatal error if E_STRICT is
set.

As type hints are desirable, change the interface and
all places where it is overridden.

Change-Id: I59e1e62181de274c808f5e27992c076b6cf335f6
Fixes: #29137
Releases: 4.6

typo3/sysext/linkvalidator/ChangeLog
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_abstract.php
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_file.php
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_interface.php
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_internal.php
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php

index dfe21ec..01e3872 100644 (file)
@@ -1,3 +1,7 @@
+2011-08-26 Philipp Gampe <forge.typo3.org@philippgampe.info>
+
+       * [BUGFIX] Fatal error with E_STRICT: Declaration of fetchType must be compatible with interface
+
 2011-08-26  Christopher Stelmaszyk  <chrissitopher@gmx.de>
 
        * [BUGFIX] XLIFF: Approved attribute is on wrong element
index e45d361..1e971b9 100644 (file)
@@ -46,7 +46,7 @@ abstract class tx_linkvalidator_linktype_Abstract implements tx_linkvalidator_li
         * @param   string       $key: validator hook name
         * @return  string       fetched type
         */
-       public function fetchType($value, $type, $key) {
+       public function fetchType(array $value, $type, $key) {
                if ($value['type'] == $key) {
                        $type = $value['type'];
                }
index 4ece1b2..1905829 100644 (file)
@@ -40,7 +40,7 @@ class tx_linkvalidator_linktype_File extends tx_linkvalidator_linktype_Abstract
         * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
         * @return  string        TRUE on success or FALSE on error
         */
-       public function checkLink($url, $softRefEntry, $reference) {
+       public function checkLink($url, array $softRefEntry, tx_linkvalidator_Processor $reference) {
                if (!@file_exists(PATH_site . rawurldecode($url))) {
                        return FALSE;
                }
index ee3128d..00d8152 100644 (file)
@@ -39,7 +39,7 @@ interface tx_linkvalidator_linktype_Interface {
         * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
         * @return  string        validation error message or succes code
         */
-       public function checkLink($url, $softRefEntry, $reference);
+       public function checkLink($url, array $softRefEntry, tx_linkvalidator_Processor $reference);
 
        /**
         * Base type fetching method, based on the type that softRefParserObj returns.
@@ -49,7 +49,7 @@ interface tx_linkvalidator_linktype_Interface {
         * @param   string       $key: validator hook name
         * @return  string       fetched type
         */
-       public function fetchType($value, $type, $key);
+       public function fetchType(array $value, $type, $key);
 
        /**
         * Get the value of the private property errorParams.
index a44f9d5..7b7192e 100644 (file)
@@ -66,7 +66,7 @@ class tx_linkvalidator_linktype_Internal extends tx_linkvalidator_linktype_Abstr
         * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
         * @return  string        TRUE on success or FALSE on error
         */
-       public function checkLink($url, $softRefEntry, $reference) {
+       public function checkLink($url, array $softRefEntry, tx_linkvalidator_Processor $reference) {
                $page = '';
                $anchor = '';
                $response = TRUE;
index 5aa192d..6949d10 100644 (file)
@@ -56,7 +56,7 @@ class tx_linkvalidator_linktype_LinkHandler extends tx_linkvalidator_linktype_Ab
         * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
         * @return  string        TRUE on success or FALSE on error
         */
-       public function checkLink($url, $softRefEntry, $reference) {
+       public function checkLink($url, array $softRefEntry, tx_linkvalidator_Processor $reference) {
                $response = TRUE;
                $errorParams = array();
                $parts = explode(":", $url);
@@ -98,7 +98,7 @@ class tx_linkvalidator_linktype_LinkHandler extends tx_linkvalidator_linktype_Ab
         * @param   string       $key: validator hook name
         * @return  string       fetched type
         */
-       public function fetchType($value, $type, $key) {
+       public function fetchType(array $value, $type, $key) {
                if ($type == 'string' && strtolower(substr($value['tokenValue'], 0, 7)) == 'record:') {
                        $type = 'linkhandler';
                }