[BUGFIX] Catch exceptions during extension update check 42/42042/3
authorNicole Cordes <typo3@cordes.co>
Tue, 28 Jul 2015 14:05:02 +0000 (16:05 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Wed, 9 Sep 2015 08:50:46 +0000 (10:50 +0200)
For each extension the available update versions are checked. This
also tries to resolve the extension version dependencies according to
the current system. There might be updates which collide and
exceptions are thrown. This patch catches thrown exceptions as the
update check shouldn't break the Extension Manager.

Resolves: #68585
Releases: master, 6.2
Change-Id: Idc1ed32304dc71dbfe722b3f2c32664f9928cb36
Reviewed-on: http://review.typo3.org/42042
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php

index 4924504..9b00f49 100644 (file)
@@ -515,9 +515,12 @@ class InstallUtility implements \TYPO3\CMS\Core\SingletonInterface {
                );
                if ($extensionUpdates->count() > 0) {
                        foreach ($extensionUpdates as $extensionUpdate) {
-                               $this->dependencyUtility->checkDependencies($extensionUpdate);
-                               if (!$this->dependencyUtility->hasDependencyErrors()) {
-                                       return $extensionUpdate;
+                               try {
+                                       $this->dependencyUtility->checkDependencies($extensionUpdate);
+                                       if (!$this->dependencyUtility->hasDependencyErrors()) {
+                                               return $extensionUpdate;
+                                       }
+                               } catch (ExtensionManagerException $e) {
                                }
                        }
                }