TYPO3  7.6
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
InstallUtility Class Reference
Inheritance diagram for InstallUtility:
SingletonInterface

Public Member Functions

 injectObjectManager (\TYPO3\CMS\Extbase\Object\ObjectManager $objectManager)
 
 injectInstallToolSqlParser (\TYPO3\CMS\Install\Service\SqlSchemaMigrationService $installToolSqlParser)
 
 injectDependencyUtility (\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility $dependencyUtility)
 
 injectFileHandlingUtility (\TYPO3\CMS\Extensionmanager\Utility\FileHandlingUtility $fileHandlingUtility)
 
 injectListUtility (\TYPO3\CMS\Extensionmanager\Utility\ListUtility $listUtility)
 
 injectDatabaseUtility (\TYPO3\CMS\Extensionmanager\Utility\DatabaseUtility $databaseUtility)
 
 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 ($extensionKey)
 
 processExtensionSetup ($extensionKey)
 
 uninstall ($extensionKey)
 
 isLoaded ($extensionKey)
 
 reloadAvailableExtensions ()
 
 isAvailable ($extensionKey)
 
 reloadPackageInformation ($extensionKey)
 
 enrichExtensionWithDetails ($extensionKey)
 
 processDatabaseUpdates (array $extension)
 
 reloadCaches ()
 
 updateDbWithExtTablesSql ($rawDefinitions)
 
 importStaticSql ($rawDefinitions)
 
 removeExtension ($extension)
 
 getExtensionSqlDataDump ($extension)
 
 isUpdateAvailable (Extension $extensionData)
 

Public Attributes

 $objectManager
 
 $installToolSqlParser
 
 $extensionRepository
 

Protected Member Functions

 loadExtension ($extensionKey)
 
 unloadExtension ($extensionKey)
 
 emitAfterExtensionInstallSignal ($extensionKey)
 
 emitAfterExtensionUninstallSignal ($extensionKey)
 
 getExtensionArray ($extensionKey)
 
 ensureConfiguredDirectoriesExist (array $extension)
 
 processRuntimeDatabaseUpdates ($extensionKey)
 
 emitTablesDefinitionIsBeingBuiltSignal ($extensionKey)
 
 reloadOpcache ()
 
 getSqlDataDumpForFile ($sqlFile)
 
 emitAfterExtensionT3DImportSignal ($importFileToUse, $importResult)
 
 importStaticSqlFile ($extensionSiteRelPath)
 
 emitAfterExtensionStaticSqlImportSignal ($extTablesStaticSqlRelFile)
 
 importInitialFiles ($extensionSiteRelPath, $extensionKey)
 
 emitAfterExtensionFileImportSignal ($destinationAbsolutePath)
 
 getDatabaseConnection ()
 

Protected Attributes

 $dependencyUtility
 
 $fileHandlingUtility
 
 $listUtility
 
 $databaseUtility
 
 $packageManager
 
 $cacheManager
 
 $signalSlotDispatcher
 
 $registry
 

Detailed Description

Extension Manager Install Utility

Definition at line 26 of file InstallUtility.php.

Member Function Documentation

emitAfterExtensionFileImportSignal (   $destinationAbsolutePath)
protected

Emits a signal after extension files were imported

Parameters
string$destinationAbsolutePath

Definition at line 734 of file InstallUtility.php.

Referenced by InstallUtility\importInitialFiles().

emitAfterExtensionInstallSignal (   $extensionKey)
protected

Emits a signal after an extension has been installed

Parameters
string$extensionKey

Definition at line 278 of file InstallUtility.php.

Referenced by InstallUtility\install().

emitAfterExtensionStaticSqlImportSignal (   $extTablesStaticSqlRelFile)
protected

Emits a signal after a static sql file was imported

Parameters
string$extTablesStaticSqlRelFile

Definition at line 697 of file InstallUtility.php.

Referenced by InstallUtility\importStaticSqlFile().

emitAfterExtensionT3DImportSignal (   $importFileToUse,
  $importResult 
)
protected

Emits a signal after an t3d file was imported

Parameters
string$importFileToUse
int$importResult

Definition at line 666 of file InstallUtility.php.

emitAfterExtensionUninstallSignal (   $extensionKey)
protected

Emits a signal after an extension has been uninstalled

Parameters
string$extensionKey

Definition at line 288 of file InstallUtility.php.

Referenced by InstallUtility\unloadExtension().

emitTablesDefinitionIsBeingBuiltSignal (   $extensionKey)
protected

Emits a signal to manipulate the tables definitions

Parameters
string$extensionKey
Returns
mixed
Exceptions
ExtensionManagerException

Definition at line 411 of file InstallUtility.php.

Referenced by InstallUtility\processRuntimeDatabaseUpdates().

enrichExtensionWithDetails (   $extensionKey)

Fetch additional information for an extension key

Parameters
string$extensionKeyprivate
Returns
array
Exceptions
ExtensionManagerException

Definition at line 329 of file InstallUtility.php.

References InstallUtility\getExtensionArray().

Referenced by InstallUtility\getExtensionSqlDataDump(), and InstallUtility\install().

ensureConfiguredDirectoriesExist ( array  $extension)
protected

Creates directories as requested in ext_emconf.php

Parameters
array$extension

Definition at line 364 of file InstallUtility.php.

Referenced by InstallUtility\install().

getDatabaseConnection ( )
protected
Returns

Definition at line 742 of file InstallUtility.php.

References $GLOBALS.

Referenced by InstallUtility\importStaticSql(), and InstallUtility\updateDbWithExtTablesSql().

getExtensionArray (   $extensionKey)
protected
Parameters
string$extensionKey
Returns
array
Exceptions
ExtensionManagerException

Definition at line 349 of file InstallUtility.php.

Referenced by InstallUtility\enrichExtensionWithDetails(), and InstallUtility\processExtensionSetup().

getExtensionSqlDataDump (   $extension)

Get the data dump for an extension

Parameters
string$extension
Returns
array

Definition at line 543 of file InstallUtility.php.

References InstallUtility\enrichExtensionWithDetails(), and InstallUtility\getSqlDataDumpForFile().

getSqlDataDumpForFile (   $sqlFile)
protected

Gets the sql data dump for a specific sql file (for example ext_tables.sql)

Parameters
string$sqlFile
Returns
string

Definition at line 558 of file InstallUtility.php.

References GeneralUtility\getUrl().

Referenced by InstallUtility\getExtensionSqlDataDump().

importInitialFiles (   $extensionSiteRelPath,
  $extensionKey 
)
protected

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

Parameters
string$extensionSiteRelPathrelative path to extension dir
string$extensionKey

Definition at line 709 of file InstallUtility.php.

References $GLOBALS, GeneralUtility\copyDirectory(), InstallUtility\emitAfterExtensionFileImportSignal(), GeneralUtility\isAllowedAbsPath(), and GeneralUtility\mkdir().

Referenced by InstallUtility\processExtensionSetup().

importStaticSql (   $rawDefinitions)

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

Parameters
string$rawDefinitions
Returns
void

Definition at line 496 of file InstallUtility.php.

References InstallUtility\getDatabaseConnection().

Referenced by InstallUtility\importStaticSqlFile().

importStaticSqlFile (   $extensionSiteRelPath)
protected

Imports a static tables SQL File (ext_tables_static+adt) Execution state is saved in the this->registry, so it only happens once

Parameters
string$extensionSiteRelPath
Returns
void

Definition at line 678 of file InstallUtility.php.

References InstallUtility\emitAfterExtensionStaticSqlImportSignal(), GeneralUtility\getUrl(), and InstallUtility\importStaticSql().

Referenced by InstallUtility\processDatabaseUpdates().

injectCacheManager ( \TYPO3\CMS\Core\Cache\CacheManager  $cacheManager)
Parameters
\TYPO3\CMS\Core\Cache\CacheManager$cacheManager

Definition at line 150 of file InstallUtility.php.

References InstallUtility\$cacheManager.

injectDatabaseUtility ( \TYPO3\CMS\Extensionmanager\Utility\DatabaseUtility  $databaseUtility)
Parameters
\TYPO3\CMS\Extensionmanager\Utility\DatabaseUtility$databaseUtility

Definition at line 126 of file InstallUtility.php.

References InstallUtility\$databaseUtility.

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

Definition at line 102 of file InstallUtility.php.

References InstallUtility\$dependencyUtility.

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

Definition at line 134 of file InstallUtility.php.

References InstallUtility\$extensionRepository.

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

Definition at line 110 of file InstallUtility.php.

References InstallUtility\$fileHandlingUtility.

injectInstallToolSqlParser ( \TYPO3\CMS\Install\Service\SqlSchemaMigrationService  $installToolSqlParser)
Parameters
\TYPO3\CMS\Install\Service\SqlSchemaMigrationService$installToolSqlParser

Definition at line 94 of file InstallUtility.php.

References InstallUtility\$installToolSqlParser.

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

Definition at line 118 of file InstallUtility.php.

References InstallUtility\$listUtility.

injectObjectManager ( \TYPO3\CMS\Extbase\Object\ObjectManager  $objectManager)
Parameters
\TYPO3\CMS\Extbase\Object\ObjectManager$objectManager

Definition at line 86 of file InstallUtility.php.

References InstallUtility\$objectManager.

injectPackageManager ( \TYPO3\CMS\Core\Package\PackageManager  $packageManager)
Parameters
\TYPO3\CMS\Core\Package\PackageManager$packageManager

Definition at line 142 of file InstallUtility.php.

References InstallUtility\$packageManager.

injectRegistry ( \TYPO3\CMS\Core\Registry  $registry)
Parameters
\TYPO3\CMS\Core\Registry$registry

Definition at line 166 of file InstallUtility.php.

References InstallUtility\$registry.

injectSignalSlotDispatcher ( \TYPO3\CMS\Extbase\SignalSlot\Dispatcher  $signalSlotDispatcher)
Parameters
\TYPO3\CMS\Extbase\SignalSlot\Dispatcher$signalSlotDispatcher

Definition at line 158 of file InstallUtility.php.

References InstallUtility\$signalSlotDispatcher.

install (   $extensionKey)

Helper function to install an extension also processes db updates and clears the cache if the extension asks for it

Parameters
string$extensionKey
Exceptions
ExtensionManagerException
Returns
void

Definition at line 179 of file InstallUtility.php.

References InstallUtility\emitAfterExtensionInstallSignal(), InstallUtility\enrichExtensionWithDetails(), InstallUtility\ensureConfiguredDirectoriesExist(), InstallUtility\loadExtension(), InstallUtility\processExtensionSetup(), and InstallUtility\reloadCaches().

isAvailable (   $extensionKey)

Checks if an extension is available in the system

Parameters
string$extensionKey
Returns
bool

Definition at line 299 of file InstallUtility.php.

isLoaded (   $extensionKey)

Wrapper function to check for loaded extensions

Parameters
string$extensionKey
Returns
bool TRUE if extension is loaded

Definition at line 237 of file InstallUtility.php.

isUpdateAvailable ( Extension  $extensionData)

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

Definition at line 577 of file InstallUtility.php.

loadExtension (   $extensionKey)
protected

Wrapper function for loading extensions

Parameters
string$extensionKey
Returns
void

Definition at line 255 of file InstallUtility.php.

Referenced by InstallUtility\install().

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

Definition at line 375 of file InstallUtility.php.

References GeneralUtility\getUrl(), InstallUtility\importStaticSqlFile(), and InstallUtility\updateDbWithExtTablesSql().

Referenced by InstallUtility\processExtensionSetup().

processExtensionSetup (   $extensionKey)
processRuntimeDatabaseUpdates (   $extensionKey)
protected

Gets all database updates due to runtime configuration, like caching framework or category api for example

Parameters
string$extensionKey

Definition at line 396 of file InstallUtility.php.

References InstallUtility\emitTablesDefinitionIsBeingBuiltSignal(), and InstallUtility\updateDbWithExtTablesSql().

Referenced by InstallUtility\processExtensionSetup().

reloadAvailableExtensions ( )

Reset and reload the available extensions

Definition at line 245 of file InstallUtility.php.

reloadCaches ( )

Reload Cache files and Typo3LoadedExtensions

Returns
void

Definition at line 436 of file InstallUtility.php.

References InstallUtility\reloadOpcache().

Referenced by InstallUtility\install().

reloadOpcache ( )
protected

Reloads PHP opcache

Definition at line 446 of file InstallUtility.php.

References GeneralUtility\makeInstance().

Referenced by InstallUtility\reloadCaches(), and InstallUtility\reloadPackageInformation().

reloadPackageInformation (   $extensionKey)

Reloads the package information, if the package is already registered

Parameters
string$extensionKey
Exceptions
\TYPO3\CMS\Core\Package\Exception\InvalidPackageStateExceptionif the package isn't available
\TYPO3\CMS\Core\Package\Exception\InvalidPackageKeyExceptionif an invalid package key was passed
\TYPO3\CMS\Core\Package\Exception\InvalidPackagePathExceptionif an invalid package path was passed
\TYPO3\CMS\Core\Package\Exception\InvalidPackageManifestExceptionif no extension configuration file could be found

Definition at line 313 of file InstallUtility.php.

References InstallUtility\reloadOpcache().

removeExtension (   $extension)

Remove an extension (delete the directory)

Parameters
string$extension
Exceptions
ExtensionManagerException
Returns
void

Definition at line 521 of file InstallUtility.php.

uninstall (   $extensionKey)

Helper function to uninstall an extension

Parameters
string$extensionKey
Exceptions
ExtensionManagerException
Returns
void

Definition at line 214 of file InstallUtility.php.

References InstallUtility\unloadExtension().

unloadExtension (   $extensionKey)
protected

Wrapper function for unloading extensions

Parameters
string$extensionKey
Returns
void

Definition at line 266 of file InstallUtility.php.

References InstallUtility\emitAfterExtensionUninstallSignal().

Referenced by InstallUtility\uninstall().

updateDbWithExtTablesSql (   $rawDefinitions)

Update database / process db updates from ext_tables

Parameters
string$rawDefinitionsThe raw SQL statements from ext_tables.sql
Returns
void

Definition at line 470 of file InstallUtility.php.

References InstallUtility\getDatabaseConnection().

Referenced by InstallUtility\processDatabaseUpdates(), and InstallUtility\processRuntimeDatabaseUpdates().

Member Data Documentation

$cacheManager
protected

Definition at line 71 of file InstallUtility.php.

Referenced by InstallUtility\injectCacheManager().

$databaseUtility
protected

Definition at line 56 of file InstallUtility.php.

Referenced by InstallUtility\injectDatabaseUtility().

$dependencyUtility
protected

Definition at line 41 of file InstallUtility.php.

Referenced by InstallUtility\injectDependencyUtility().

$extensionRepository

Definition at line 61 of file InstallUtility.php.

Referenced by InstallUtility\injectExtensionRepository().

$fileHandlingUtility
protected

Definition at line 46 of file InstallUtility.php.

Referenced by InstallUtility\injectFileHandlingUtility().

$installToolSqlParser

Definition at line 36 of file InstallUtility.php.

Referenced by InstallUtility\injectInstallToolSqlParser().

$listUtility
protected

Definition at line 51 of file InstallUtility.php.

Referenced by InstallUtility\injectListUtility().

$objectManager

Definition at line 31 of file InstallUtility.php.

Referenced by InstallUtility\injectObjectManager().

$packageManager
protected

Definition at line 66 of file InstallUtility.php.

Referenced by InstallUtility\injectPackageManager().

$registry
protected

Definition at line 81 of file InstallUtility.php.

Referenced by InstallUtility\injectRegistry().

$signalSlotDispatcher
protected

Definition at line 76 of file InstallUtility.php.

Referenced by InstallUtility\injectSignalSlotDispatcher().