‪TYPO3CMS  ‪main
TYPO3\CMS\Extensionmanager\Utility\InstallUtility Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Utility\InstallUtility:

Public Member Functions

 __construct (private readonly EventDispatcherInterface $eventDispatcher, private readonly FileHandlingUtility $fileHandlingUtility, private readonly ListUtility $listUtility, private readonly PackageManager $packageManager, private readonly CacheManager $cacheManager, private readonly Registry $registry, private readonly BootService $bootService, private readonly OpcodeCacheService $opcodeCacheService, private readonly SqlReader $sqlReader, private readonly SchemaMigrator $schemaMigrator, private readonly ExtensionConfiguration $extensionConfiguration, LanguageServiceFactory $languageServiceFactory,)
 
 install (string ... $extensionKeys)
 
 processExtensionSetup (string $extensionKey)
 
 uninstall (string $extensionKey)
 
 reloadAvailableExtensions ()
 
 isAvailable (string $extensionKey)
 
 reloadPackageInformation (string $extensionKey)
 
 enrichExtensionWithDetails (string $extensionKey, bool $loadTerInformation=true)
 
 updateDatabase ()
 
 removeExtension (string $extension)
 

Protected Member Functions

 findInstalledExtensionsThatDependOnExtension (string $extensionKey)
 
 getExtensionArray (string $extensionKey)
 
 importT3DFile (string $extensionKey, string $packagePath)
 
 importStaticSqlFile (string $extensionKey, string $packagePath)
 
 importInitialFiles (string $packagePath, string $extensionKey)
 
 importSiteConfiguration (string $extensionKey, string $packagePath, Import $import=null)
 
 isValidExtensionPath (string $path)
 

Private Attributes

LanguageService $languageService
 

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 57 of file InstallUtility.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::__construct ( private readonly EventDispatcherInterface  $eventDispatcher,
private readonly FileHandlingUtility  $fileHandlingUtility,
private readonly ListUtility  $listUtility,
private readonly PackageManager  $packageManager,
private readonly CacheManager  $cacheManager,
private readonly Registry  $registry,
private readonly BootService  $bootService,
private readonly OpcodeCacheService  $opcodeCacheService,
private readonly SqlReader  $sqlReader,
private readonly SchemaMigrator  $schemaMigrator,
private readonly ExtensionConfiguration  $extensionConfiguration,
LanguageServiceFactory  $languageServiceFactory 
)

Member Function Documentation

◆ enrichExtensionWithDetails()

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

Fetch additional information for an extension key.

Exceptions
ExtensionManagerException

Definition at line 176 of file InstallUtility.php.

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

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

◆ findInstalledExtensionsThatDependOnExtension()

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

Find installed extensions which depend on the given extension. Used by extension uninstall to stop the process if an installed extension depends on the extension to be uninstalled.

Definition at line 242 of file InstallUtility.php.

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

◆ getExtensionArray()

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

Definition at line 262 of file InstallUtility.php.

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

◆ importInitialFiles()

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

Imports files from Initialisation/Files to fileadmin as low level copy directory method.

Parameters
string$packagePath‪Absolute path to extension dir

Definition at line 348 of file InstallUtility.php.

References $GLOBALS, TYPO3\CMS\Core\Utility\GeneralUtility\mkdir(), and TYPO3\CMS\Core\Utility\PathUtility\stripPathSitePrefix().

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

◆ importSiteConfiguration()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importSiteConfiguration ( string  $extensionKey,
string  $packagePath,
Import  $import = null 
)
protected

◆ importStaticSqlFile()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importStaticSqlFile ( string  $extensionKey,
string  $packagePath 
)
protected

Import a static tables SQL File "ext_tables_static+adt.sql". Execution state is saved in Registry, so it only happens once when file is unchanged.

Definition at line 319 of file InstallUtility.php.

References TYPO3\CMS\Core\Utility\PathUtility\stripPathSitePrefix().

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

◆ importT3DFile()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::importT3DFile ( string  $extensionKey,
string  $packagePath 
)
protected

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

Definition at line 275 of file InstallUtility.php.

References TYPO3\CMS\Core\Utility\PathUtility\stripPathSitePrefix().

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

◆ install()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::install ( string ...  $extensionKeys)

Helper function to install an extension and processes db updates.

Definition at line 83 of file InstallUtility.php.

References $GLOBALS, TYPO3\CMS\Extensionmanager\Utility\InstallUtility\processExtensionSetup(), and TYPO3\CMS\Extensionmanager\Utility\InstallUtility\updateDatabase().

◆ isAvailable()

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

Checks if an extension is available in the system.

Definition at line 153 of file InstallUtility.php.

◆ isValidExtensionPath()

TYPO3\CMS\Extensionmanager\Utility\InstallUtility::isValidExtensionPath ( string  $path)
protected

Is the given path a valid path for extension installation

Parameters
string$path‪Absolute (!) path in question

Definition at line 436 of file InstallUtility.php.

References TYPO3\CMS\Extensionmanager\Domain\Model\Extension\returnInstallPaths().

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

◆ processExtensionSetup()

◆ reloadAvailableExtensions()

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

Reset and reload the available extensions.

Definition at line 145 of file InstallUtility.php.

◆ reloadPackageInformation()

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

Reloads the package information, if the package is already registered.

Exceptions
InvalidPackageStateException‪if the package isn't available

Definition at line 163 of file InstallUtility.php.

◆ removeExtension()

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

◆ uninstall()

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

Helper function to uninstall an extension.

Exceptions
ExtensionManagerException

Definition at line 122 of file InstallUtility.php.

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

◆ updateDatabase()

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

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

Definition at line 197 of file InstallUtility.php.

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

Member Data Documentation

◆ $languageService

LanguageService TYPO3\CMS\Extensionmanager\Utility\InstallUtility::$languageService
private

Definition at line 61 of file InstallUtility.php.