‪TYPO3CMS  9.5
TYPO3\CMS\Extensionmanager\Utility\InstallUtility Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Utility\InstallUtility:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectObjectManager (\TYPO3\CMS\Extbase\Object\ObjectManager $objectManager)
 
 injectDependencyUtility (\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility $dependencyUtility)
 
 injectFileHandlingUtility (\TYPO3\CMS\Extensionmanager\Utility\FileHandlingUtility $fileHandlingUtility)
 
 injectListUtility (\TYPO3\CMS\Extensionmanager\Utility\ListUtility $listUtility)
 
 injectExtensionRepository (\TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository $extensionRepository)
 
 injectPackageManager (\TYPO3\CMS\Core\Package\PackageManager $packageManager)
 
 injectCacheManager (\TYPO3\CMS\Core\Cache\CacheManager $cacheManager)
 
 injectSignalSlotDispatcher (\TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher)
 
 injectRegistry (\TYPO3\CMS\Core\Registry $registry)
 
 install (... $extensionKeys)
 
 processExtensionSetup ($extensionKey)
 
 uninstall ($extensionKey)
 
bool isLoaded ($extensionKey)
 
 reloadAvailableExtensions ()
 
bool isAvailable ($extensionKey)
 
 reloadPackageInformation ($extensionKey)
 
array enrichExtensionWithDetails ($extensionKey, $loadTerInformation=true)
 
 processDatabaseUpdates (array $extension)
 
 reloadCaches ()
 
 updateDbWithExtTablesSql ($rawDefinitions)
 
 importStaticSql ($rawDefinitions)
 
 removeExtension ($extension)
 
bool isUpdateAvailable (Extension $extensionData)
 
bool Extension getUpdateableVersion (Extension $extensionData)
 

Public Attributes

TYPO3 CMS Extbase Object ObjectManager $objectManager
 
TYPO3 CMS Extensionmanager Domain Repository ExtensionRepository $extensionRepository
 

Protected Member Functions

 loadExtension ($extensionKey)
 
 unloadExtension ($extensionKey)
 
 emitAfterExtensionInstallSignal ($extensionKey)
 
 emitAfterExtensionUninstallSignal ($extensionKey)
 
array getExtensionArray ($extensionKey)
 
 ensureConfiguredDirectoriesExist (array $extension)
 
mixed emitTablesDefinitionIsBeingBuiltSignal ($extensionKey)
 
 reloadOpcache ()
 
 updateDatabase (array $extensionKeys)
 
 saveDefaultConfiguration ($extensionKey)
 
 importT3DFile ($extensionSiteRelPath)
 
 emitAfterExtensionT3DImportSignal ($importFileToUse, $importResult)
 
 importStaticSqlFile ($extensionSiteRelPath)
 
 emitAfterExtensionStaticSqlImportSignal ($extTablesStaticSqlRelFile)
 
 importInitialFiles ($extensionSiteRelPath, $extensionKey)
 
 emitAfterExtensionFileImportSignal ($destinationAbsolutePath)
 

Protected Attributes

TYPO3 CMS Extensionmanager Utility DependencyUtility $dependencyUtility
 
TYPO3 CMS Extensionmanager Utility FileHandlingUtility $fileHandlingUtility
 
TYPO3 CMS Extensionmanager Utility ListUtility $listUtility
 
TYPO3 CMS Core Package PackageManager $packageManager
 
TYPO3 CMS Core Cache CacheManager $cacheManager
 
TYPO3 CMS Extbase SignalSlot Dispatcher $signalSlotDispatcher
 
TYPO3 CMS Core Registry $registry
 

Detailed Description

Extension Manager Install Utility

This class is a specific ExtensionManager implementation and is not part of the Public TYPO3 API.

Definition at line 31 of file InstallUtility.php.

Member Function Documentation

◆ emitAfterExtensionFileImportSignal()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitAfterExtensionFileImportSignal (   $destinationAbsolutePath)
protected

Emits a signal after extension files were imported

Parameters
string$destinationAbsolutePath

Definition at line 697 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\importInitialFiles().

◆ emitAfterExtensionInstallSignal()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitAfterExtensionInstallSignal (   $extensionKey)
protected

Emits a signal after an extension has been installed

Parameters
string$extensionKey

Definition at line 254 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\install().

◆ emitAfterExtensionStaticSqlImportSignal()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitAfterExtensionStaticSqlImportSignal (   $extTablesStaticSqlRelFile)
protected

Emits a signal after a static sql file was imported

Parameters
string$extTablesStaticSqlRelFile

Definition at line 660 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\importStaticSqlFile().

◆ emitAfterExtensionT3DImportSignal()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitAfterExtensionT3DImportSignal (   $importFileToUse,
  $importResult 
)
protected

Emits a signal after an t3d file was imported

Parameters
string$importFileToUse
int$importResult

Definition at line 628 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\importT3DFile().

◆ emitAfterExtensionUninstallSignal()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitAfterExtensionUninstallSignal (   $extensionKey)
protected

Emits a signal after an extension has been uninstalled

Parameters
string$extensionKey

Definition at line 264 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\unloadExtension().

◆ emitTablesDefinitionIsBeingBuiltSignal()

mixed TYPO3\CMS\Extensionmanager\Utility\InstallUtility::emitTablesDefinitionIsBeingBuiltSignal (   $extensionKey)
protected

Emits a signal to manipulate the tables definitions

Parameters
string$extensionKey
Exceptions
ExtensionManagerException
Returns
‪mixed
Deprecated:
‪since TYPO3 v9, will be removed with TYPO3v10
See also
‪\TYPO3\CMS\Core\Database\Schema\SqlReader::emitTablesDefinitionIsBeingBuiltSignal

Definition at line 388 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\updateDatabase().

◆ enrichExtensionWithDetails()

array TYPO3\CMS\Extensionmanager\Utility\InstallUtility::enrichExtensionWithDetails (   $extensionKey,
  $loadTerInformation = true 
)

Fetch additional information for an extension key

Parameters
string$extensionKey
bool$loadTerInformation
Returns
‪array
Exceptions
ExtensionManagerException

Definition at line 306 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\getExtensionArray().

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\install(), and TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processExtensionSetup().

◆ ensureConfiguredDirectoriesExist()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::ensureConfiguredDirectoriesExist ( array  $extension)
protected

Creates directories as requested in ext_emconf.php

Parameters
array$extension

Definition at line 344 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processExtensionSetup().

◆ getExtensionArray()

array TYPO3\CMS\Extensionmanager\Utility\InstallUtility::getExtensionArray (   $extensionKey)
protected
Parameters
string$extensionKey
Returns
‪array
Exceptions
ExtensionManagerException

Definition at line 330 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\enrichExtensionWithDetails().

◆ getUpdateableVersion()

bool Extension TYPO3\CMS\Extensionmanager\Utility\InstallUtility::getUpdateableVersion ( Extension  $extensionData)

Returns the updateable version for an extension which also resolves dependencies.

Parameters
Extension$extensionData
Returns
‪bool|Extension FALSE if no update available otherwise latest possible update

Definition at line 553 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getExtensionKey(), and TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getIntegerVersion().

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\isUpdateAvailable().

◆ importInitialFiles()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importInitialFiles (   $extensionSiteRelPath,
  $extensionKey 
)
protected

Imports files from Initialisation/Files to fileadmin via lowlevel copy directory method

Parameters
string$extensionSiteRelPath‪relative path to extension dir
string$extensionKey

Definition at line 672 of file InstallUtility.php.

References $GLOBALS, TYPO3\CMS\Extensionmanager\Utility\InstallUtility\emitAfterExtensionFileImportSignal(), and TYPO3\CMS\Core\Core\Environment\getPublicPath().

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processExtensionSetup().

◆ importStaticSql()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importStaticSql (   $rawDefinitions)

Import static SQL data (normally used for ext_tables_static+adt.sql)

Parameters
string$rawDefinitions

Definition at line 503 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\importStaticSqlFile().

◆ importStaticSqlFile()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importStaticSqlFile (   $extensionSiteRelPath)
protected

◆ importT3DFile()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importT3DFile (   $extensionSiteRelPath)
protected

Uses the export import extension to import a T3D or XML file to PID 0 Execution state is saved in the this->registry, so it only happens once

Parameters
string$extensionSiteRelPath

Definition at line 585 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\emitAfterExtensionT3DImportSignal(), and TYPO3\CMS\Core\Core\Environment\getPublicPath().

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processDatabaseUpdates(), and TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processExtensionSetup().

◆ injectCacheManager()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectCacheManager ( \TYPO3\CMS\Core\Cache\CacheManager  $cacheManager)
Parameters
\TYPO3\CMS\Core\Cache\CacheManager$cacheManager

Definition at line 120 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$cacheManager.

◆ injectDependencyUtility()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectDependencyUtility ( \TYPO3\CMS\Extensionmanager\Utility\DependencyUtility  $dependencyUtility)
Parameters
\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility$dependencyUtility

Definition at line 80 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$dependencyUtility.

◆ injectExtensionRepository()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectExtensionRepository ( \TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository  $extensionRepository)
Parameters
\TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository$extensionRepository

Definition at line 104 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$extensionRepository.

◆ injectFileHandlingUtility()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectFileHandlingUtility ( \TYPO3\CMS\Extensionmanager\Utility\FileHandlingUtility  $fileHandlingUtility)
Parameters
\TYPO3\CMS\Extensionmanager\Utility\FileHandlingUtility$fileHandlingUtility

Definition at line 88 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$fileHandlingUtility.

◆ injectListUtility()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectListUtility ( \TYPO3\CMS\Extensionmanager\Utility\ListUtility  $listUtility)
Parameters
\TYPO3\CMS\Extensionmanager\Utility\ListUtility$listUtility

Definition at line 96 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$listUtility.

◆ injectObjectManager()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectObjectManager ( \TYPO3\CMS\Extbase\Object\ObjectManager  $objectManager)
Parameters
\TYPO3\CMS\Extbase\Object\ObjectManager$objectManager

Definition at line 72 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$objectManager.

◆ injectPackageManager()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectPackageManager ( \TYPO3\CMS\Core\Package\PackageManager  $packageManager)
Parameters
\TYPO3\CMS\Core\Package\PackageManager$packageManager

Definition at line 112 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$packageManager.

◆ injectRegistry()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectRegistry ( \TYPO3\CMS\Core\Registry  $registry)
Parameters
\TYPO3\CMS\Core\Registry$registry

Definition at line 136 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$registry.

◆ injectSignalSlotDispatcher()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::injectSignalSlotDispatcher ( \TYPO3\CMS\Extbase\SignalSlot\Dispatcher  $signalSlotDispatcher)
Parameters
\TYPO3\CMS\Extbase\SignalSlot\Dispatcher$signalSlotDispatcher

Definition at line 128 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\$signalSlotDispatcher.

◆ install()

◆ isAvailable()

bool TYPO3\CMS\Extensionmanager\Utility\InstallUtility::isAvailable (   $extensionKey)

Checks if an extension is available in the system

Parameters
string$extensionKey
Returns
‪bool

Definition at line 275 of file InstallUtility.php.

◆ isLoaded()

bool TYPO3\CMS\Extensionmanager\Utility\InstallUtility::isLoaded (   $extensionKey)

Wrapper function to check for loaded extensions

Parameters
string$extensionKey
Returns
‪bool TRUE if extension is loaded

Definition at line 214 of file InstallUtility.php.

◆ isUpdateAvailable()

bool TYPO3\CMS\Extensionmanager\Utility\InstallUtility::isUpdateAvailable ( Extension  $extensionData)

Checks if an update for an extension is available which also resolves dependencies.

Parameters
Extension$extensionData
Returns
‪bool

Definition at line 541 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\getUpdateableVersion().

◆ loadExtension()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::loadExtension (   $extensionKey)
protected

Wrapper function for loading extensions

Parameters
string$extensionKey

Definition at line 232 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\install().

◆ processDatabaseUpdates()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::processDatabaseUpdates ( array  $extension)

Gets the content of the ext_tables.sql and ext_tables_static+adt.sql files Additionally adds the table definitions for the cache tables

Parameters
array$extension
Deprecated:
‪since TYPO3 v9, will be removed with TYPO3v10

Definition at line 356 of file InstallUtility.php.

References TYPO3\CMS\Core\Core\Environment\getPublicPath(), TYPO3\CMS\Extensionmanager\Utility\InstallUtility\importStaticSqlFile(), TYPO3\CMS\Extensionmanager\Utility\InstallUtility\importT3DFile(), and TYPO3\CMS\Extensionmanager\Utility\InstallUtility\updateDbWithExtTablesSql().

◆ processExtensionSetup()

◆ reloadAvailableExtensions()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::reloadAvailableExtensions ( )

Reset and reload the available extensions

Definition at line 222 of file InstallUtility.php.

◆ reloadCaches()

◆ reloadOpcache()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::reloadOpcache ( )
protected

◆ reloadPackageInformation()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::reloadPackageInformation (   $extensionKey)

Reloads the package information, if the package is already registered

Parameters
string$extensionKey
Exceptions

Definition at line 289 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\reloadOpcache().

◆ removeExtension()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::removeExtension (   $extension)

Remove an extension (delete the directory)

Parameters
string$extension
Exceptions
ExtensionManagerException

Definition at line 518 of file InstallUtility.php.

◆ saveDefaultConfiguration()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::saveDefaultConfiguration (   $extensionKey)
protected

Save default configuration of an extension

Parameters
string$extensionKey

Definition at line 475 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\install().

◆ uninstall()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::uninstall (   $extensionKey)

Helper function to uninstall an extension

Parameters
string$extensionKey
Exceptions
ExtensionManagerException

Definition at line 192 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\unloadExtension().

◆ unloadExtension()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::unloadExtension (   $extensionKey)
protected

Wrapper function for unloading extensions

Parameters
string$extensionKey

Definition at line 242 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\emitAfterExtensionUninstallSignal().

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\uninstall().

◆ updateDatabase()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::updateDatabase ( array  $extensionKeys)
protected

Executes all safe database statements. Tables and fields are created and altered. Nothing gets deleted or renamed here.

Parameters
array$extensionKeys

Definition at line 443 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\InstallUtility\emitTablesDefinitionIsBeingBuiltSignal().

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\install().

◆ updateDbWithExtTablesSql()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::updateDbWithExtTablesSql (   $rawDefinitions)

Update database / process db updates from ext_tables

Parameters
string$rawDefinitions‪The raw SQL statements from ext_tables.sql
Deprecated:
‪since TYPO3 v9, will be removed with TYPO3v10

Definition at line 487 of file InstallUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processDatabaseUpdates().

Member Data Documentation

◆ $cacheManager

TYPO3 CMS Core Cache CacheManager TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$cacheManager
protected

◆ $dependencyUtility

TYPO3 CMS Extensionmanager Utility DependencyUtility TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$dependencyUtility
protected

◆ $extensionRepository

TYPO3 CMS Extensionmanager Domain Repository ExtensionRepository TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$extensionRepository

◆ $fileHandlingUtility

TYPO3 CMS Extensionmanager Utility FileHandlingUtility TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$fileHandlingUtility
protected

◆ $listUtility

TYPO3 CMS Extensionmanager Utility ListUtility TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$listUtility
protected

◆ $objectManager

TYPO3 CMS Extbase Object ObjectManager TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$objectManager

◆ $packageManager

TYPO3 CMS Core Package PackageManager TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$packageManager
protected

◆ $registry

TYPO3 CMS Core Registry TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$registry
protected

◆ $signalSlotDispatcher

TYPO3 CMS Extbase SignalSlot Dispatcher TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$signalSlotDispatcher
protected