‪TYPO3CMS  11.5
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 ()
 
TYPO3 CMS Core Package PackageInterface getExtension ($extensionKey)
 
array getAvailableAndInstalledExtensions (array $availableExtensions)
 
array enrichExtensionsWithEmConfInformation (array $extensions)
 
array enrichExtensionsWithEmConfAndTerInformation (array $extensions)
 
array getAvailableAndInstalledExtensionsWithAdditionalInformation (string $filter='')
 

Protected Member Functions

string getInstallTypeForPackage (PackageInterface $package)
 
Extension null getExtensionTerData ($extensionKey, $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 39 of file ListUtility.php.

Member Function Documentation

◆ enrichExtensionsWithEmConfAndTerInformation()

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

◆ enrichExtensionsWithEmConfInformation()

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

Adds the information from the emconf array to the extension information

Parameters
array$extensions
Returns
‪array

Definition at line 199 of file ListUtility.php.

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

◆ getAvailableAndInstalledExtensions()

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

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

Parameters
array$availableExtensions
Returns
‪array

Definition at line 183 of file ListUtility.php.

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

◆ getAvailableAndInstalledExtensionsWithAdditionalInformation()

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

Gets all available and installed extension with additional information from em_conf and TER (if available)

Parameters
string$filter
Returns
‪array

Definition at line 276 of file ListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\ListUtility\enrichExtensionsWithEmConfAndTerInformation(), TYPO3\CMS\Extensionmanager\Utility\ListUtility\getAvailableAndInstalledExtensions(), and TYPO3\CMS\Extensionmanager\Utility\ListUtility\getAvailableExtensions().

◆ getAvailableExtensions()

◆ getExtension()

TYPO3 CMS Core Package PackageInterface TYPO3\CMS\Extensionmanager\Utility\ListUtility::getExtension (   $extensionKey)
Parameters
string$extensionKey
Returns
‪\TYPO3\CMS\Core\Package\PackageInterface
Exceptions

Definition at line 153 of file ListUtility.php.

◆ getExtensionTerData()

Extension null TYPO3\CMS\Extensionmanager\Utility\ListUtility::getExtensionTerData (   $extensionKey,
  $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 247 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()

string 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.

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

Definition at line 289 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)
Parameters
DependencyUtility$dependencyUtility

Definition at line 97 of file ListUtility.php.

◆ injectEmConfUtility()

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

Definition at line 73 of file ListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\ListUtility\$emConfUtility.

◆ injectExtensionRepository()

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

Definition at line 81 of file ListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\ListUtility\$extensionRepository.

◆ injectPackageManager()

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

Definition at line 89 of file ListUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\ListUtility\$packageManager.

◆ reloadAvailableExtensions()

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

Reset and reload the available extensions

Definition at line 141 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 67 of file ListUtility.php.

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