TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester Class Reference
Inheritance diagram for TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester:
TYPO3\CMS\Install\Controller\Action\Ajax\AbstractAjaxAction TYPO3\CMS\Install\Controller\Action\AbstractAction TYPO3\CMS\Install\Controller\Action\ActionInterface

Public Member Functions

 __construct ()
 
 logError ()
 
- Public Member Functions inherited from TYPO3\CMS\Install\Controller\Action\Ajax\AbstractAjaxAction
 handle ()
 
- Public Member Functions inherited from TYPO3\CMS\Install\Controller\Action\AbstractAction
 injectObjectManager (\TYPO3\CMS\Extbase\Object\ObjectManager $objectManager)
 
 injectView (\TYPO3\CMS\Install\View\FailsafeView $view)
 
 handle ()
 
 setToken ($token)
 
 setController ($controller)
 
 setAction ($action)
 
 setPostValues (array $postValues)
 
 setLastError (array $lastError)
 
 setMessages (array $messages=[])
 

Protected Member Functions

 executeAction ()
 
 deleteProtocolFile ()
 
 getExtensionsToLoad ()
 
 getExtensionsToExclude ()
 
 tryToLoadExtLocalconfAndExtTablesOfExtensions (array $extensions)
 
 loadExtTablesForExtension ($extensionKey, array $extension)
 
 loadExtLocalconfForExtension ($extensionKey, array $extension)
 
 writeCurrentExtensionToFile ($extensionKey)
 
 removeCurrentExtensionFromFile ($extensionKey)
 
- Protected Member Functions inherited from TYPO3\CMS\Install\Controller\Action\AbstractAction
 initializeHandle ()
 
 executeAction ()
 
 isDbalEnabled ()
 
 getContext ()
 
 loadExtLocalconfDatabaseAndExtTables ()
 
 getHashedPassword ($password)
 

Protected Attributes

 $protocolFile = ''
 
 $errorProtocolFile = ''
 
 $logError = false
 
- Protected Attributes inherited from TYPO3\CMS\Install\Controller\Action\AbstractAction
 $objectManager = null
 
 $view = null
 
 $controller = ''
 
 $action = ''
 
 $token = ''
 
 $postValues = []
 
 $lastError = []
 
 $messages = []
 

Detailed Description

Load Extensions

The idea is to load ext_localconf and ext_tables of extensions one-by-one until one of those files throws a fatal. The javascript will then recognise the fatal and initiates another run that will leave out the fataling extension to check the rest.

Definition at line 28 of file ExtensionCompatibilityTester.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::__construct ( )

Construct this class set default protocol file location

Definition at line 55 of file ExtensionCompatibilityTester.php.

Member Function Documentation

◆ deleteProtocolFile()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::deleteProtocolFile ( )
protected

Delete the protocol files if they exist

Returns
void

Definition at line 84 of file ExtensionCompatibilityTester.php.

Referenced by TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\executeAction().

◆ executeAction()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::executeAction ( )
protected

Main entry point for checking extensions to load, setting up the checks (deleting protocol), and returning OK if process run through without errors

Returns
string "OK" if process ran through without errors

Definition at line 68 of file ExtensionCompatibilityTester.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\_GET(), TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\deleteProtocolFile(), TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\getExtensionsToLoad(), and TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\tryToLoadExtLocalconfAndExtTablesOfExtensions().

◆ getExtensionsToExclude()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::getExtensionsToExclude ( )
protected

Gets extensions already known to be incompatible This class is recursively called, and this method is needed to not run into the same errors twice.

Returns
array

Definition at line 120 of file ExtensionCompatibilityTester.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\getUrl(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\getExtensionsToLoad().

◆ getExtensionsToLoad()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::getExtensionsToLoad ( )
protected

Get extensions that should be loaded. Fills the TYPO3_LOADED_EXT array. Only considers local extensions

Returns
array

Definition at line 101 of file ExtensionCompatibilityTester.php.

References $GLOBALS, and TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\getExtensionsToExclude().

Referenced by TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\executeAction().

◆ loadExtLocalconfForExtension()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::loadExtLocalconfForExtension (   $extensionKey,
array  $extension 
)
protected

Loads ext_localconf.php for a single extension. Method is a modified copy of the original bootstrap method.

Parameters
string$extensionKey
\ArrayAccess$extension
Returns
void

Definition at line 184 of file ExtensionCompatibilityTester.php.

References $_EXTCONF, and $GLOBALS.

Referenced by TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\tryToLoadExtLocalconfAndExtTablesOfExtensions().

◆ loadExtTablesForExtension()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::loadExtTablesForExtension (   $extensionKey,
array  $extension 
)
protected

Loads ext_tables.php for a single extension. Method is a modified copy of the original bootstrap method.

Parameters
string$extensionKey
\ArrayAccess$extension
Returns
void

Definition at line 157 of file ExtensionCompatibilityTester.php.

References $_EXTCONF, $GLOBALS, $TCA, and TYPO3\CMS\Core\Utility\ExtensionManagementUtility\loadNewTcaColumnsConfigFiles().

Referenced by TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester\tryToLoadExtLocalconfAndExtTablesOfExtensions().

◆ logError()

◆ removeCurrentExtensionFromFile()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::removeCurrentExtensionFromFile (   $extensionKey)
protected

◆ tryToLoadExtLocalconfAndExtTablesOfExtensions()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::tryToLoadExtLocalconfAndExtTablesOfExtensions ( array  $extensions)
protected

◆ writeCurrentExtensionToFile()

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::writeCurrentExtensionToFile (   $extensionKey)
protected

Member Data Documentation

◆ $errorProtocolFile

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::$errorProtocolFile = ''
protected

Definition at line 42 of file ExtensionCompatibilityTester.php.

◆ $logError

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::$logError = false
protected

Definition at line 49 of file ExtensionCompatibilityTester.php.

◆ $protocolFile

TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::$protocolFile = ''
protected

Definition at line 35 of file ExtensionCompatibilityTester.php.