TYPO3  7.6
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ExtensionManagementService Class Reference
Inheritance diagram for ExtensionManagementService:
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 ( 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 276 of file ExtensionManagementService.php.

Referenced by ExtensionManagementService\installExtension().

copyDependencies ( array  $copyQueue)
protected

Copies locally provided extensions to typo3conf/ext

Parameters
array$copyQueue
Returns
void

Definition at line 305 of file ExtensionManagementService.php.

References GeneralUtility\copyDirectory(), ExtensionManagementService\markExtensionForInstallation(), GeneralUtility\mkdir(), and Extension\returnAllowedInstallPaths().

Referenced by ExtensionManagementService\installExtension().

downloadDependencies ( array  $downloadQueue)
protected

Download dependencies expects an array of extension objects to download

Parameters
Extension[]$downloadQueue
Returns
array

Definition at line 364 of file ExtensionManagementService.php.

References ExtensionManagementService\markExtensionForInstallation().

Referenced by ExtensionManagementService\installExtension().

downloadExtension ( Extension  $extension)
protected
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 401 of file ExtensionManagementService.php.

References AbstractDomainObject\getUid().

Referenced by ExtensionManagementService\downloadExtension().

emitHasInstalledExtensionSignal (   $extensionKey)
protected
Parameters
string$extensionKey

Definition at line 421 of file ExtensionManagementService.php.

References ExtensionManagementService\getSignalSlotDispatcher().

Referenced by ExtensionManagementService\installDependencies().

emitWillInstallExtensionsSignal ( array  $installQueue)
protected
Parameters
array$installQueue

Definition at line 413 of file ExtensionManagementService.php.

References ExtensionManagementService\getSignalSlotDispatcher().

Referenced by ExtensionManagementService\installDependencies().

getAndResolveDependencies ( Extension  $extension)

Get and resolve dependencies

Parameters
Extension$extension
Returns
array

Definition at line 382 of file ExtensionManagementService.php.

getDependencyErrors ( )

Returns the unresolved dependency errors

Returns
array

Definition at line 219 of file ExtensionManagementService.php.

getExtension (   $extensionKey)
Parameters
string$extensionKey
Returns
Extension
Exceptions
\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException

Definition at line 229 of file ExtensionManagementService.php.

Referenced by ExtensionManagementService\markExtensionForInstallation().

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

Definition at line 73 of file ExtensionManagementService.php.

References ExtensionManagementService\$dependencyUtility.

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 ExtensionManagementService\$downloadQueue.

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

Definition at line 97 of file ExtensionManagementService.php.

References ExtensionManagementService\$downloadUtility.

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

Definition at line 89 of file ExtensionManagementService.php.

References ExtensionManagementService\$extensionModelUtility.

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

Definition at line 81 of file ExtensionManagementService.php.

References ExtensionManagementService\$installUtility.

installDependencies ( array  $installQueue)
protected
installExtension ( Extension  $extension)
isAvailable (   $extensionKey)

Checks if an extension is available in the system

Parameters
string$extensionKey
Returns
bool

Definition at line 242 of file ExtensionManagementService.php.

markExtensionForCopy (   $extensionKey,
  $sourceFolder 
)

Mark an extension for copy

Parameters
string$extensionKey
string$sourceFolder
Returns
void

Definition at line 123 of file ExtensionManagementService.php.

markExtensionForDownload ( Extension  $extension)

Mark an extension for download

Parameters
Extension$extension
Returns
void

Definition at line 134 of file ExtensionManagementService.php.

markExtensionForInstallation (   $extensionKey)
markExtensionForUpdate ( Extension  $extension)
Parameters
Extension$extension
Returns
void

Definition at line 148 of file ExtensionManagementService.php.

reloadPackageInformation (   $extensionKey)
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 254 of file ExtensionManagementService.php.

setAutomaticInstallationEnabled (   $automaticInstallationEnabled)
Parameters
bool$automaticInstallationEnabled

Definition at line 169 of file ExtensionManagementService.php.

References ExtensionManagementService\$automaticInstallationEnabled.

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

References Extension\returnInstallPaths().

Referenced by ExtensionManagementService\downloadExtension().

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 ExtensionManagementService\$skipDependencyCheck.

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

Referenced by ExtensionManagementService\installExtension().

Member Data Documentation

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