[BUGFIX] Detect current ImageMagick Version 7 for Windows. 73/57973/3
authorMichael Kersten <michael.kersten@3m5.de>
Sat, 4 Aug 2018 12:10:55 +0000 (14:10 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sun, 2 Sep 2018 12:47:24 +0000 (14:47 +0200)
Try to use magick.exe if executable does not exists.

ImageMagick Version 7 for Windows does not use the executables for
identify, convert and combine/composite anymore. Instead the executable
magick.exe is used.

Resolves: #80909
Releases: master, 8.7
Change-Id: I83de3b0c1faac2aac582edfe51008d6288cb45b0
Reviewed-on: https://review.typo3.org/57973
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Guido Schmechel <guido.schmechel@brandung.de>
Tested-by: Guido Schmechel <guido.schmechel@brandung.de>
Reviewed-by: Jörg Bösche <typo3@joergboesche.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Classes/Utility/CommandUtility.php
typo3/sysext/install/Classes/Configuration/Image/ImageMagick6Preset.php

index a97c527..2ad40c0 100644 (file)
@@ -106,6 +106,8 @@ class CommandUtility
         // Compile the path & command
         if ($gfxConf['processor'] === 'GraphicsMagick') {
             $path = self::escapeShellArgument($path . 'gm' . $isExt) . ' ' . self::escapeShellArgument($command);
+        } elseif (TYPO3_OS === 'WIN' && !@is_file($path . $command . $isExt)) {
+            $path = self::escapeShellArgument($path . 'magick' . $isExt) . ' ' . self::escapeShellArgument($command);
         } else {
             $path = self::escapeShellArgument($path . $command . $isExt);
         }
index c6338ec..01f1816 100644 (file)
@@ -68,6 +68,10 @@ class ImageMagick6Preset extends AbstractImagePreset implements Configuration\Pr
         foreach ($searchPaths as $path) {
             if (TYPO3_OS === 'WIN') {
                 $executable = 'identify.exe';
+
+                if (!@is_file($path . $executable)) {
+                    $executable = 'magick.exe';
+                }
             } else {
                 $executable = 'identify';
             }