‪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 ()
 
TYPO3 CMS Core Package PackageInterface getExtension ($extensionKey)
 
array getAvailableAndInstalledExtensions (array $availableExtensions)
 
array enrichExtensionsWithEmConfInformation (array $extensions)
 
array enrichExtensionsWithEmConfAndTerInformation (array $extensions)
 
 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

Returns
‪array

Definition at line 183 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.

Returns
‪array

Definition at line 168 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 Core Package PackageInterface TYPO3\CMS\Extensionmanager\Utility\ListUtility::getExtension (   $extensionKey)
Parameters
string$extensionKey
Returns
‪\TYPO3\CMS\Core\Package\PackageInterface
Exceptions

Definition at line 140 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 233 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.

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

Definition at line 271 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 85 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 128 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().