TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectDownloadQueue (\TYPO3\CMS\Extensionmanager\Domain\Model\DownloadQueue $downloadQueue)
 
 injectDependencyUtility (\TYPO3\CMS\Extensionmanager\Utility\DependencyUtility $dependencyUtility)
 
 injectInstallUtility (\TYPO3\CMS\Extensionmanager\Utility\InstallUtility $installUtility)
 
 injectExtensionModelUtility (\TYPO3\CMS\Extensionmanager\Utility\ExtensionModelUtility $extensionModelUtility)
 
 injectDownloadUtility (\TYPO3\CMS\Extensionmanager\Utility\DownloadUtility $downloadUtility)
 
 markExtensionForInstallation ($extensionKey)
 
 markExtensionForCopy ($extensionKey, $sourceFolder)
 
 markExtensionForDownload (Extension $extension)
 
 markExtensionForUpdate (Extension $extension)
 
 setSkipDependencyCheck ($skipDependencyCheck)
 
 setAutomaticInstallationEnabled ($automaticInstallationEnabled)
 
 installExtension (Extension $extension)
 
 getDependencyErrors ()
 
 getExtension ($extensionKey)
 
 isAvailable ($extensionKey)
 
 reloadPackageInformation ($extensionKey)
 
 getAndResolveDependencies (Extension $extension)
 
 downloadMainExtension (Extension $extension)
 

Protected Member Functions

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

Protected Attributes

 $downloadQueue
 
 $dependencyUtility
 
 $installUtility
 
 $extensionModelUtility
 
 $downloadUtility
 
 $automaticInstallationEnabled = true
 
 $skipDependencyCheck = false
 

Detailed Description

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

Definition at line 25 of file ExtensionManagementService.php.

Member Function Documentation

◆ checkDependencies()

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 299 of file ExtensionManagementService.php.

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

◆ copyDependencies()

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

◆ downloadDependencies()

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 387 of file ExtensionManagementService.php.

References 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
Returns
void

Definition at line 424 of file ExtensionManagementService.php.

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

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

◆ emitHasInstalledExtensionSignal()

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

◆ emitWillInstallExtensionsSignal()

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

◆ getAndResolveDependencies()

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

Get and resolve dependencies

Parameters
Extension$extension
Returns
array

Definition at line 405 of file ExtensionManagementService.php.

◆ getDependencyErrors()

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

Returns the unresolved dependency errors

Returns
array

Definition at line 242 of file ExtensionManagementService.php.

◆ getExtension()

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

Definition at line 252 of file ExtensionManagementService.php.

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

◆ getSignalSlotDispatcher()

TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::getSignalSlotDispatcher ( )
protected

◆ injectDependencyUtility()

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

Definition at line 73 of file ExtensionManagementService.php.

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

◆ injectDownloadQueue()

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

Definition at line 65 of file ExtensionManagementService.php.

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

◆ injectDownloadUtility()

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

Definition at line 97 of file ExtensionManagementService.php.

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

◆ injectExtensionModelUtility()

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

Definition at line 89 of file ExtensionManagementService.php.

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

◆ injectInstallUtility()

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

Definition at line 81 of file ExtensionManagementService.php.

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

◆ installDependencies()

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

◆ installExtension()

◆ isAvailable()

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

Checks if an extension is available in the system

Parameters
string$extensionKey
Returns
bool

Definition at line 265 of file ExtensionManagementService.php.

◆ markExtensionForCopy()

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

Mark an extension for copy

Parameters
string$extensionKey
string$sourceFolder
Returns
void

Definition at line 123 of file ExtensionManagementService.php.

◆ markExtensionForDownload()

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

Mark an extension for download

Parameters
Extension$extension
Returns
void

Definition at line 134 of file ExtensionManagementService.php.

◆ markExtensionForInstallation()

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

◆ markExtensionForUpdate()

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

Definition at line 148 of file ExtensionManagementService.php.

◆ reloadPackageInformation()

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

Definition at line 277 of file ExtensionManagementService.php.

◆ setAutomaticInstallationEnabled()

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

Definition at line 169 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 314 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 161 of file ExtensionManagementService.php.

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

◆ uninstallDependenciesToBeUpdated()

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 347 of file ExtensionManagementService.php.

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

Member Data Documentation

◆ $automaticInstallationEnabled

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

◆ $dependencyUtility

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

◆ $downloadQueue

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

◆ $downloadUtility

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

◆ $extensionModelUtility

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

◆ $installUtility

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

◆ $skipDependencyCheck

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