‪TYPO3CMS  ‪main
TYPO3\CMS\Extensionmanager\Utility\ListUtility Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Utility\ListUtility:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectEmConfUtility (EmConfUtility $emConfUtility)
 
 injectExtensionRepository (ExtensionRepository $extensionRepository)
 
 injectPackageManager (PackageManager $packageManager)
 
 injectDependencyUtility (DependencyUtility $dependencyUtility)
 
array[] getAvailableExtensions (string $filter='')
 
 reloadAvailableExtensions ()
 
 getExtension (string $extensionKey)
 
 getAvailableAndInstalledExtensions (array $availableExtensions)
 
 enrichExtensionsWithEmConfInformation (array $extensions)
 
 enrichExtensionsWithEmConfAndTerInformation (array $extensions)
 
 getAvailableAndInstalledExtensionsWithAdditionalInformation (string $filter='')
 

Protected Member Functions

 getInstallTypeForPackage (PackageInterface $package)
 
Extension null getExtensionTerData (string $extensionKey, string $version)
 
Extension null getUpdateableVersion (Extension $extensionData)
 

Protected Attributes

EmConfUtility $emConfUtility
 
ExtensionRepository $extensionRepository
 
PackageManager $packageManager
 
array< string, $availableExtensions;protected EventDispatcherInterface $eventDispatcher;protected DependencyUtility $dependencyUtility;public function injectEventDispatcher(EventDispatcherInterface $eventDispatcher) { $this-> eventDispatcher = $eventDispatcher
 

Detailed Description

Utility for dealing with extension list related functions

@TODO: Refactor this API class:

  • ‪The methods depend on each other, they take each others result, that could be done internally
  • ‪There is no good wording to distinguish existing and loaded extensions
  • ‪The name 'listUtility' is not good, the methods could be moved to some 'extensionInformationUtility', or a repository?

This class is a specific ExtensionManager implementation and is not part of the Public TYPO3 API.

Definition at line 40 of file ListUtility.php.

Member Function Documentation

◆ enrichExtensionsWithEmConfAndTerInformation()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::enrichExtensionsWithEmConfAndTerInformation ( array  $extensions)

◆ enrichExtensionsWithEmConfInformation()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::enrichExtensionsWithEmConfInformation ( array  $extensions)

Adds the information from the emconf array to the extension information

Definition at line 173 of file ListUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\ListUtility\enrichExtensionsWithEmConfAndTerInformation().

◆ getAvailableAndInstalledExtensions()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::getAvailableAndInstalledExtensions ( array  $availableExtensions)

Enrich the output of getAvailableExtensions() with an array key installed = 1 if an extension is loaded.

Definition at line 160 of file ListUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\ListUtility\getAvailableAndInstalledExtensionsWithAdditionalInformation().

◆ getAvailableAndInstalledExtensionsWithAdditionalInformation()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::getAvailableAndInstalledExtensionsWithAdditionalInformation ( string  $filter = '')

◆ getAvailableExtensions()

◆ getExtension()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::getExtension ( string  $extensionKey)

Definition at line 136 of file ListUtility.php.

◆ getExtensionTerData()

Extension null TYPO3\CMS\Extensionmanager\Utility\ListUtility::getExtensionTerData ( string  $extensionKey,
string  $version 
)
protected

Tries to find given extension with given version in TER data. If extension is found but not the given version, we return TER data from highest version with version data set to given one.

Parameters
string$extensionKey‪Key of the extension
string$version‪String representation of version number
Returns
‪Extension|null Extension TER object or NULL if nothing found

Definition at line 221 of file ListUtility.php.

References TYPO3\CMS\Core\Utility\VersionNumberUtility\convertVersionNumberToInteger(), and TYPO3\CMS\Extensionmanager\Domain\Model\Extension\setVersion().

Referenced by TYPO3\CMS\Extensionmanager\Utility\ListUtility\enrichExtensionsWithEmConfAndTerInformation().

◆ getInstallTypeForPackage()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::getInstallTypeForPackage ( PackageInterface  $package)
protected

◆ getUpdateableVersion()

Extension null TYPO3\CMS\Extensionmanager\Utility\ListUtility::getUpdateableVersion ( Extension  $extensionData)
protected

Returns the updateable version for an extension which also resolves dependencies.

Returns
‪Extension|null null if no update available otherwise latest possible update

Definition at line 259 of file ListUtility.php.

References TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getExtensionKey(), and TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getIntegerVersion().

Referenced by TYPO3\CMS\Extensionmanager\Utility\ListUtility\enrichExtensionsWithEmConfAndTerInformation().

◆ injectDependencyUtility()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::injectDependencyUtility ( DependencyUtility  $dependencyUtility)

Definition at line 86 of file ListUtility.php.

◆ injectEmConfUtility()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::injectEmConfUtility ( EmConfUtility  $emConfUtility)

◆ injectExtensionRepository()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::injectExtensionRepository ( ExtensionRepository  $extensionRepository)

◆ injectPackageManager()

TYPO3\CMS\Extensionmanager\Utility\ListUtility::injectPackageManager ( PackageManager  $packageManager)

◆ reloadAvailableExtensions()

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

Reset and reload the available extensions

Definition at line 129 of file ListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\ListUtility\getAvailableExtensions().

Member Data Documentation

◆ $emConfUtility

EmConfUtility TYPO3\CMS\Extensionmanager\Utility\ListUtility::$emConfUtility
protected

◆ $extensionRepository

ExtensionRepository TYPO3\CMS\Extensionmanager\Utility\ListUtility::$extensionRepository
protected

◆ $packageManager

PackageManager TYPO3\CMS\Extensionmanager\Utility\ListUtility::$packageManager
protected

◆ eventDispatcher

array<string, $availableExtensions; protected EventDispatcherInterface $eventDispatcher; protected DependencyUtility $dependencyUtility; public function injectEventDispatcher(EventDispatcherInterface $eventDispatcher) { $this-> TYPO3\CMS\Extensionmanager\Utility\ListUtility::eventDispatcher = $eventDispatcher
protected

array<string, scalar>>

Definition at line 68 of file ListUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\ListUtility\getAvailableExtensions().