From 095ae8e88fad61ed1b456c2bbeacd3c15f270428 Mon Sep 17 00:00:00 2001
From: Ernesto Baschny <ernst@cron-it.de>
Date: Sun, 16 Mar 2014 04:07:23 +0100
Subject: [PATCH] [BUGFIX] Check extensions in Install Tool broken

Since merging of 64c46b918ef016bdd1d799c5ca06e868d601f692, TYPO3_LOADED_EXT
is no longer an ArrayAccess but a regular array (like pre 6.2). This leaded
to an error in the Extension Manager important action "Check Extension",
causing an endless loop.

Catchable fatal error: Argument 2 passed to
TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester
::loadExtLocalconfForExtension() must implement interface ArrayAccess,
array given

Resolves: #56952
Releases: 6.2
Change-Id: I02e83a8221653d62010952f84c17a8f6f6e185ea
Reviewed-on: https://review.typo3.org/28437
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
---
 .../Controller/Action/Ajax/ExtensionCompatibilityTester.php   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/typo3/sysext/install/Classes/Controller/Action/Ajax/ExtensionCompatibilityTester.php b/typo3/sysext/install/Classes/Controller/Action/Ajax/ExtensionCompatibilityTester.php
index 91461c49df2b..43f15496dbf9 100644
--- a/typo3/sysext/install/Classes/Controller/Action/Ajax/ExtensionCompatibilityTester.php
+++ b/typo3/sysext/install/Classes/Controller/Action/Ajax/ExtensionCompatibilityTester.php
@@ -138,7 +138,7 @@ class ExtensionCompatibilityTester extends AbstractAjaxAction {
 	 * @param \ArrayAccess $extension
 	 * @return void
 	 */
-	protected function loadExtTablesForExtension($extensionKey, \ArrayAccess $extension) {
+	protected function loadExtTablesForExtension($extensionKey, array $extension) {
 		// In general it is recommended to not rely on it to be globally defined in that
 		// scope, but we can not prohibit this without breaking backwards compatibility
 		global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
@@ -164,7 +164,7 @@ class ExtensionCompatibilityTester extends AbstractAjaxAction {
 	 * @param \ArrayAccess $extension
 	 * @return void
 	 */
-	protected function loadExtLocalconfForExtension($extensionKey, \ArrayAccess $extension) {
+	protected function loadExtLocalconfForExtension($extensionKey, array $extension) {
 		// This is the main array meant to be manipulated in the ext_localconf.php files
 		// In general it is recommended to not rely on it to be globally defined in that
 		// scope but to use $GLOBALS['TYPO3_CONF_VARS'] instead.
-- 
GitLab