From 0d970a777000696dd95f32f3408a229c72c60883 Mon Sep 17 00:00:00 2001 From: Nicole Cordes <typo3@cordes.co> Date: Tue, 12 Nov 2013 23:33:50 +0100 Subject: [PATCH] [BUGFIX] Hide update icon for incompatible extensions Currently the update icon in extension manager is displayed every time a higher TER version of the extension exists. But the update fails if the TYPO3 version isn't within the extension dependencies. This patch adds the dependency check to the isUpdateAvailable function. Resolves: #53576 Releases: 6.2 Change-Id: I109e779037f670ab205b43cbbbb1bc16954860e6 Reviewed-on: https://review.typo3.org/25348 Reviewed-by: Philipp Gampe Reviewed-by: Marcin S?gol Tested-by: Marcin S?gol Reviewed-by: Oliver Klee Reviewed-by: Wouter Wolters Tested-by: Wouter Wolters --- .../extensionmanager/Classes/Utility/InstallUtility.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php index ec4504b6a06b..8c31be80afcd 100644 --- a/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php +++ b/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php @@ -378,6 +378,7 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface { * @return boolean */ public function isUpdateAvailable(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extensionData) { + $isUpdateAvailable = FALSE; // Only check for update for TER extensions $version = $extensionData->getIntegerVersion(); /** @var $highestTerVersionExtension \TYPO3\CMS\Extensionmanager\Domain\Model\Extension */ @@ -385,10 +386,14 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface { if ($highestTerVersionExtension instanceof \TYPO3\CMS\Extensionmanager\Domain\Model\Extension) { $highestVersion = $highestTerVersionExtension->getIntegerVersion(); if ($highestVersion > $version) { - return TRUE; + try { + $this->dependencyUtility->buildExtensionDependenciesTree($highestTerVersionExtension); + $isUpdateAvailable = TRUE; + } catch (\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException $e) { + } } } - return FALSE; + return $isUpdateAvailable; } /** -- GitLab