‪TYPO3CMS  10.4
TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectEventDispatcher (EventDispatcherInterface $eventDispatcher)
 
 injectDownloadQueue (DownloadQueue $downloadQueue)
 
 injectDependencyUtility (DependencyUtility $dependencyUtility)
 
 injectInstallUtility (InstallUtility $installUtility)
 
 injectExtensionModelUtility (ExtensionModelUtility $extensionModelUtility)
 
 injectDownloadUtility (DownloadUtility $downloadUtility)
 
 markExtensionForInstallation ($extensionKey)
 
 markExtensionForCopy ($extensionKey, $sourceFolder)
 
 markExtensionForDownload (Extension $extension)
 
 markExtensionForUpdate (Extension $extension)
 
 setSkipDependencyCheck ($skipDependencyCheck)
 
 setAutomaticInstallationEnabled ($automaticInstallationEnabled)
 
bool array installExtension (Extension $extension)
 
array getDependencyErrors ()
 
Extension getExtension ($extensionKey)
 
bool isAvailable ($extensionKey)
 
 reloadPackageInformation ($extensionKey)
 
array getAndResolveDependencies (Extension $extension)
 
 downloadMainExtension (Extension $extension)
 

Protected Member Functions

 downloadExtension (Extension $extension)
 
bool checkDependencies (Extension $extension)
 
 setInExtensionRepository ($extensionKey)
 
 copyDependencies (array $copyQueue)
 
array uninstallDependenciesToBeUpdated (array $updateQueue)
 
array installDependencies (array $installQueue)
 
array downloadDependencies (array $downloadQueue)
 

Protected Attributes

DownloadQueue $downloadQueue
 
DependencyUtility $dependencyUtility
 
InstallUtility $installUtility
 
ExtensionModelUtility $extensionModelUtility
 
DownloadUtility $downloadUtility
 
bool $automaticInstallationEnabled = true
 
bool $skipDependencyCheck = false
 
EventDispatcherInterface $eventDispatcher
 

Detailed Description

Service class for managing multiple step processes (dependencies for example)

Definition at line 32 of file ExtensionManagementService.php.

Member Function Documentation

◆ checkDependencies()

bool TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::checkDependencies ( Extension  $extension)
protected

Check dependencies for an extension and its required extensions

Parameters
Extension$extension
Returns
‪bool Returns TRUE if all dependencies can be resolved, otherwise FALSE

Definition at line 304 of file ExtensionManagementService.php.

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\installExtension().

◆ copyDependencies()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::copyDependencies ( array  $copyQueue)
protected

◆ downloadDependencies()

array TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::downloadDependencies ( array  $downloadQueue)
protected

Download dependencies expects an array of extension objects to download

Parameters
Extension[]$downloadQueue
Returns
‪array

Definition at line 394 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$downloadQueue, and TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\markExtensionForInstallation().

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\installExtension().

◆ downloadExtension()

◆ downloadMainExtension()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::downloadMainExtension ( Extension  $extension)

Downloads the extension the user wants to install This is separated from downloading the dependencies as an extension is able to provide it's own dependencies

Parameters
Extension$extension

Definition at line 430 of file ExtensionManagementService.php.

References TYPO3\CMS\Extbase\DomainObject\AbstractDomainObject\getUid().

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\downloadExtension().

◆ getAndResolveDependencies()

array TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::getAndResolveDependencies ( Extension  $extension)

Get and resolve dependencies

Parameters
Extension$extension
Returns
‪array

Definition at line 412 of file ExtensionManagementService.php.

◆ getDependencyErrors()

array TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::getDependencyErrors ( )

Returns the unresolved dependency errors

Returns
‪array

Definition at line 247 of file ExtensionManagementService.php.

◆ getExtension()

Extension TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::getExtension (   $extensionKey)
Parameters
string$extensionKey
Returns
‪Extension
Exceptions

Definition at line 257 of file ExtensionManagementService.php.

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\markExtensionForInstallation().

◆ injectDependencyUtility()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::injectDependencyUtility ( DependencyUtility  $dependencyUtility)
Parameters
DependencyUtility$dependencyUtility

Definition at line 82 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$dependencyUtility.

◆ injectDownloadQueue()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::injectDownloadQueue ( DownloadQueue  $downloadQueue)
Parameters
DownloadQueue$downloadQueue

Definition at line 74 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$downloadQueue.

◆ injectDownloadUtility()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::injectDownloadUtility ( DownloadUtility  $downloadUtility)
Parameters
DownloadUtility$downloadUtility

Definition at line 106 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$downloadUtility.

◆ injectEventDispatcher()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::injectEventDispatcher ( EventDispatcherInterface  $eventDispatcher)

◆ injectExtensionModelUtility()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::injectExtensionModelUtility ( ExtensionModelUtility  $extensionModelUtility)
Parameters
ExtensionModelUtility$extensionModelUtility

Definition at line 98 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$extensionModelUtility.

◆ injectInstallUtility()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::injectInstallUtility ( InstallUtility  $installUtility)
Parameters
InstallUtility$installUtility

Definition at line 90 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$installUtility.

◆ installDependencies()

array TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::installDependencies ( array  $installQueue)
protected

Install dependent extensions

Parameters
array$installQueue
Returns
‪array

Definition at line 370 of file ExtensionManagementService.php.

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\installExtension().

◆ installExtension()

◆ isAvailable()

bool TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::isAvailable (   $extensionKey)

Checks if an extension is available in the system

Parameters
string$extensionKey
Returns
‪bool

Definition at line 270 of file ExtensionManagementService.php.

◆ markExtensionForCopy()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::markExtensionForCopy (   $extensionKey,
  $sourceFolder 
)

Mark an extension for copy

Parameters
string$extensionKey
string$sourceFolder

Definition at line 130 of file ExtensionManagementService.php.

◆ markExtensionForDownload()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::markExtensionForDownload ( Extension  $extension)

Mark an extension for download

Parameters
Extension$extension

Definition at line 140 of file ExtensionManagementService.php.

◆ markExtensionForInstallation()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::markExtensionForInstallation (   $extensionKey)

◆ markExtensionForUpdate()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::markExtensionForUpdate ( Extension  $extension)
Parameters
Extension$extension

Definition at line 153 of file ExtensionManagementService.php.

◆ reloadPackageInformation()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::reloadPackageInformation (   $extensionKey)
Parameters
string$extensionKey
Exceptions

Definition at line 282 of file ExtensionManagementService.php.

◆ setAutomaticInstallationEnabled()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::setAutomaticInstallationEnabled (   $automaticInstallationEnabled)
Parameters
bool$automaticInstallationEnabled

Definition at line 174 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$automaticInstallationEnabled.

◆ setInExtensionRepository()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::setInExtensionRepository (   $extensionKey)
protected

Sets the path to the repository in an extension (Initialisation/Extensions) depending on the extension that is currently installed

Parameters
string$extensionKey

Definition at line 319 of file ExtensionManagementService.php.

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

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\downloadExtension().

◆ setSkipDependencyCheck()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::setSkipDependencyCheck (   $skipDependencyCheck)

Enables or disables the dependency check for system environment (PHP, TYPO3) before extension installation

Parameters
bool$skipDependencyCheck

Definition at line 166 of file ExtensionManagementService.php.

References TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\$skipDependencyCheck.

◆ uninstallDependenciesToBeUpdated()

array TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::uninstallDependenciesToBeUpdated ( array  $updateQueue)
protected

Uninstall extensions that will be updated This is not strictly necessary but cleaner all in all

Parameters
Extension[]$updateQueue
Returns
‪array

Definition at line 354 of file ExtensionManagementService.php.

Referenced by TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService\installExtension().

Member Data Documentation

◆ $automaticInstallationEnabled

bool TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$automaticInstallationEnabled = true
protected

◆ $dependencyUtility

DependencyUtility TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$dependencyUtility
protected

◆ $downloadQueue

DownloadQueue TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$downloadQueue
protected

◆ $downloadUtility

DownloadUtility TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$downloadUtility
protected

◆ $eventDispatcher

EventDispatcherInterface TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$eventDispatcher
protected

◆ $extensionModelUtility

ExtensionModelUtility TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$extensionModelUtility
protected

◆ $installUtility

InstallUtility TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$installUtility
protected

◆ $skipDependencyCheck

bool TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$skipDependencyCheck = false
protected