]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
baculum: Fix compatibility with PHP 5.4
authorMarcin Haba <marcin.haba@bacula.pl>
Thu, 2 Mar 2023 09:37:24 +0000 (10:37 +0100)
committerMarcin Haba <marcin.haba@bacula.pl>
Sun, 5 Mar 2023 06:06:30 +0000 (07:06 +0100)
gui/baculum/protected/API/Pages/API/JobsObjects.php
gui/baculum/protected/API/Pages/API/PluginM365EmailAttachmentList.php
gui/baculum/protected/API/Pages/API/PluginM365EmailList.php
gui/baculum/protected/API/Pages/API/PluginM365ListLoggedUsers.php
gui/baculum/protected/API/Pages/API/PluginVSphereListDatastores.php
gui/baculum/protected/API/Pages/API/PluginVSphereListHosts.php
gui/baculum/protected/API/Pages/API/PluginVSphereListServers.php

index 8224372eade6a49830dea1a5975de94068cedad8..8f3b7c58a63420dab9599e4ff3db615ecb6824c8 100644 (file)
@@ -24,7 +24,7 @@ use Baculum\API\Modules\ConsoleOutputPage;
 use Baculum\API\Modules\ConsoleOutputQueryPage;
 use Baculum\API\Modules\JobManager;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{BconsoleError,ClientError,JobError,PluginVSphereError};
+use Baculum\Common\Modules\Errors\JobError;
 
 /**
  * List jobs with objects.
@@ -328,4 +328,4 @@ class JobsObjects extends BaculumAPIServer {
                        $this->error = $result->exitcode;
                }
        }
-}
+}
\ No newline at end of file
index ae50d033aea6c4cff9953ad674421089030695ba..b27a335f1fa24299b4ce1341e9a71e7164289c7d 100644 (file)
@@ -22,7 +22,9 @@
 
 use Baculum\API\Modules\ConsoleOutputJSONPage;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{ClientError,PluginError,PluginM365Error};
+use Baculum\Common\Modules\Errors\ClientError;
+use Baculum\Common\Modules\Errors\PluginError;
+use Baculum\Common\Modules\Errors\PluginM365Error;
 
 /**
  * List email attachments backed up using Microsoft 365 plugin.
index b229cb13f5438bab0fb18f6b30e5cc29518a0b73..043a5241e2d9201423df15b35090f9123e4b2243 100644 (file)
@@ -22,7 +22,9 @@
 
 use Baculum\API\Modules\ConsoleOutputJSONPage;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{ClientError,PluginError,PluginM365Error};
+use Baculum\Common\Modules\Errors\ClientError;
+use Baculum\Common\Modules\Errors\PluginError;
+use Baculum\Common\Modules\Errors\PluginM365Error;
 
 /**
  * List emails backed up using Microsoft 365 plugin.
index a2effb8cd02d0e519039114b9394971b9507b1db..ef22d2d16fcb9b892327654772dcf91b2d6e046b 100644 (file)
@@ -23,7 +23,9 @@
 use Baculum\API\Modules\ConsoleOutputPage;
 use Baculum\API\Modules\ConsoleOutputQueryPage;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{BconsoleError,ClientError,PluginError,PluginM365Error};
+use Baculum\Common\Modules\Errors\ClientError;
+use Baculum\Common\Modules\Errors\PluginError;
+use Baculum\Common\Modules\Errors\PluginM365Error;
 
 /**
  * List logged in M365 plugin users.
@@ -134,7 +136,7 @@ class PluginM365ListLoggedUsers extends ConsoleOutputQueryPage {
                        ]
                );
                if ($ret->exitcode === 0) {
-                       $ret->output = iterator_to_array($this->getUserRows($ret->output));
+                       $ret->output = $this->getUserRows($ret->output);
                } else {
                        $ret->output = []; // don't provide errors to output, only in logs
                        $this->getModule('logging')->log(
@@ -162,7 +164,7 @@ class PluginM365ListLoggedUsers extends ConsoleOutputQueryPage {
                        ]
                );
                if ($ret->exitcode === 0) {
-                       $users = iterator_to_array($this->getUserJSON($ret->output));
+                       $users = $this->getUserJSON($ret->output);
                        if (count($users) === 1) {
                                $ret->output = json_decode($users[0]);
                        } else {
@@ -177,18 +179,22 @@ class PluginM365ListLoggedUsers extends ConsoleOutputQueryPage {
        }
 
        private function getUserRows(array $output) {
+               $out = [];
                for ($i = 0; $i < count($output); $i++) {
                        if (preg_match('/^user=/', $output[$i]) === 1) {
-                               yield $output[$i];
+                               $out[] = $output[$i];
                        }
                }
+               return $out;
        }
 
        private function getUserJSON(array $output) {
+               $out = [];
                for ($i = 0; $i < count($output); $i++) {
                        if (preg_match('/^=?\[/', $output[$i]) === 1) {
-                               yield ltrim($output[$i], '=');
+                               $out[] = ltrim($output[$i], '=');
                        }
                }
+               return $out;
        }
 }
index 93ac01a2c53d9a936467e2b532cb6831d9d6b230..62ffb483bb0a236fb6a20af90354dcbebf7f8a4c 100644 (file)
@@ -23,7 +23,9 @@
 use Baculum\API\Modules\ConsoleOutputPage;
 use Baculum\API\Modules\ConsoleOutputQueryPage;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{BconsoleError,ClientError,PluginVSphereError};
+use Baculum\Common\Modules\Errors\BconsoleError;
+use Baculum\Common\Modules\Errors\ClientError;
+use Baculum\Common\Modules\Errors\PluginVSphereError;
 
 /**
  * List vSphere plugin datastores.
@@ -122,7 +124,7 @@ class PluginVSphereListDatastores extends ConsoleOutputQueryPage {
        protected function getJSONOutput($params = []) {
                $result = $this->getRawOutput($params);
                if ($result->exitcode === 0) {
-                       $rows = iterator_to_array($this->getHostRows($result->output));
+                       $rows = $this->getHostRows($result->output);
                        $result->output = $this->parseOutputKeyValue($rows);
                }
                return $result;
@@ -132,13 +134,15 @@ class PluginVSphereListDatastores extends ConsoleOutputQueryPage {
         * Filter rows with datastore items.
         *
         * @param array $output dot query command output
-        * @return none
+        * @return array
         */
        private function getHostRows(array $output) {
+               $out = [];
                for ($i = 0; $i < count($output); $i++) {
                        if (preg_match('/^datastore=/', $output[$i]) === 1) {
-                               yield $output[$i];
+                               $out[] = $output[$i];
                        }
                }
+               return $out;
        }
 }
index b52783c5f6d08c27b1d5e64550ec15231cb30435..85351724a3825470c270b3f5d22706385f0f332a 100644 (file)
@@ -23,7 +23,9 @@
 use Baculum\API\Modules\ConsoleOutputPage;
 use Baculum\API\Modules\ConsoleOutputQueryPage;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{BconsoleError,ClientError,PluginVSphereError};
+use Baculum\Common\Modules\Errors\BconsoleError;
+use Baculum\Common\Modules\Errors\ClientError;
+use Baculum\Common\Modules\Errors\PluginVSphereError;
 
 /**
  * List vSphere plugin hosts.
@@ -122,7 +124,7 @@ class PluginVSphereListHosts extends ConsoleOutputQueryPage {
        protected function getJSONOutput($params = []) {
                $result = $this->getRawOutput($params);
                if ($result->exitcode === 0) {
-                       $rows = iterator_to_array($this->getHostRows($result->output));
+                       $rows = $this->getHostRows($result->output);
                        $result->output = [];
                        for ($i = 0; $i < count($rows); $i++) {
                                $result->output[] = $this->parseOutputKeyValue($rows[$i]);
@@ -135,16 +137,18 @@ class PluginVSphereListHosts extends ConsoleOutputQueryPage {
         * Filter rows with host and moref items.
         *
         * @param array $output dot query command output
-        * @return none
+        * @return array
         */
        private function getHostRows(array $output) {
+               $out = [];
                for ($i = 0; $i < count($output); $i++) {
                        if (preg_match('/^host=/', $output[$i]) === 1 && isset($output[$i+1])) {
-                               yield [
+                               $out[] = [
                                        $output[$i],
                                        $output[$i+1]
                                ];
                        }
                }
+               return $out;
        }
 }
index be0c08425edefb33a1b62565adb427937978956e..f62398c4633b53bf1058f8284a8730ba3c06a5b0 100644 (file)
@@ -23,7 +23,9 @@
 use Baculum\API\Modules\ConsoleOutputPage;
 use Baculum\API\Modules\ConsoleOutputQueryPage;
 use Baculum\Common\Modules\Logging;
-use Baculum\Common\Modules\Errors\{BconsoleError,ClientError,PluginVSphereError};
+use Baculum\Common\Modules\Errors\BconsoleError;
+use Baculum\Common\Modules\Errors\ClientError;
+use Baculum\Common\Modules\Errors\PluginVSphereError;
 
 /**
  * List vSphere plugin servers.
@@ -122,7 +124,7 @@ class PluginVSphereListServers extends ConsoleOutputQueryPage {
        protected function getJSONOutput($params = []) {
                $result = $this->getRawOutput($params);
                if ($result->exitcode === 0) {
-                       $result->output = iterator_to_array($this->getServerRows($result->output));
+                       $result->output = $this->getServerRows($result->output);
                        $result->output = $this->parseOutputKeyValue($result->output);
                }
                return $result;
@@ -132,13 +134,15 @@ class PluginVSphereListServers extends ConsoleOutputQueryPage {
         * Filter rows with server items.
         *
         * @param array $output dot query command output
-        * @return none
+        * @return array
         */
        private function getServerRows(array $output) {
+               $out = [];
                for ($i = 0; $i < count($output); $i++) {
                        if (preg_match('/^server=/', $output[$i]) === 1) {
-                               yield $output[$i];
+                               $out[] = $output[$i];
                        }
                }
+               return $out;
        }
 }