MDL-54948 core_upgrade: fix unoconv check on the environment page
authorSimey Lameze <simey@moodle.com>
Tue, 21 Jun 2016 01:38:01 +0000 (09:38 +0800)
committerSimey Lameze <simey@moodle.com>
Tue, 21 Jun 2016 01:38:01 +0000 (09:38 +0800)
lib/upgradelib.php

index 252f15a..07afc92 100644 (file)
@@ -2297,13 +2297,19 @@ function check_unoconv_version(environment_results $result) {
         $unoconvbin = \escapeshellarg($CFG->pathtounoconv);
         $command = "$unoconvbin --version";
         exec($command, $output);
-        preg_match('/([0-9]+\.[0-9]+)/', $output[0], $matches);
-        $currentversion = (float)$matches[0];
-        $supportedversion = 0.7;
-        if ($currentversion < $supportedversion) {
-            $result->setInfo('unoconv version not supported');
-            $result->setStatus(false);
-            return $result;
+        if ($output) {
+            $currentversion = 0;
+            foreach ($output as $response) {
+                if (preg_match('/unoconv (\\d+\\.\\d+)/', $response, $matches)) {
+                    $currentversion = (float)$matches[1];
+                }
+            }
+            $supportedversion = 0.7;
+            if ($currentversion < $supportedversion) {
+                $result->setInfo('unoconv version not supported');
+                $result->setStatus(false);
+                return $result;
+            }
         }
     }
     return null;