1818 * The TYPO3 project - inspiring people to share!
1919 */
2020
21- use TYPO3 \CMS \Core \Utility \GeneralUtility ;
21+ use SchamsNet \Nagios \Controller \NagiosController ;
22+ use TYPO3 \CMS \Core \Package \PackageManager ;
2223use TYPO3 \CMS \Core \Utility \ExtensionManagementUtility ;
2324use TYPO3 \CMS \Extbase \Object \ObjectManager ;
24- use TYPO3 \CMS \Extensionmanager \Utility \ListUtility ;
25- use SchamsNet \Nagios \Controller \NagiosController ;
2625
2726/**
2827 * Class contains methods for extension-related details, such as extension versions.
@@ -35,16 +34,16 @@ class ExtensionDetails
3534 private $ availableExtensions = [];
3635
3736 /**
38- * Extensionmanager ListUtility
37+ * PackageManager
3938 */
40- private ListUtility $ extensionListUtility ;
39+ private PackageManager $ packageManager ;
4140
4241 /**
4342 * Constructor
4443 */
45- public function __construct (ListUtility $ extensionListUtility )
44+ public function __construct (PackageManager $ packageManager )
4645 {
47- $ this ->extensionListUtility = $ extensionListUtility ;
46+ $ this ->packageManager = $ packageManager ;
4847 }
4948
5049 /**
@@ -53,16 +52,14 @@ public function __construct(ListUtility $extensionListUtility)
5352 public function getAvailableExtensions (bool $ loadedExtensionsOnly = false ): array
5453 {
5554 $ installedExtensions = [];
56- $ this ->availableExtensions = $ this ->extensionListUtility
57- ->getAvailableAndInstalledExtensionsWithAdditionalInformation ();
55+ $ this ->availableExtensions = $ this ->packageManager ->getAvailablePackages ();
5856
5957 foreach ($ this ->availableExtensions as $ extensionKey => $ extensionDetails ) {
60- if (array_key_exists ('type ' , $ extensionDetails )
61- && array_key_exists ('version ' , $ extensionDetails )
62- && $ this ->isValidExtensionKey ($ extensionKey )
63- && strtolower ($ extensionDetails ['type ' ]) == 'local ' ) {
58+ if ($ extensionDetails ->getPackageMetaData ()->isExtensionType () &&
59+ !$ extensionDetails ->getPackageMetaData ()->isFrameworkType () &&
60+ $ this ->isValidExtensionKey ($ extensionKey )) {
6461 if (!$ loadedExtensionsOnly
65- || ($ loadedExtensionsOnly && ExtensionManagementUtility:: isLoaded ($ extensionKey ))
62+ || ($ loadedExtensionsOnly && $ this -> packageManager -> isPackageActive ($ extensionKey ))
6663 ) {
6764 $ extensionVersion = $ this ->getExtensionVersion ($ extensionKey );
6865 if ($ extensionVersion ) {
0 commit comments