From: Marcin Haba Date: Thu, 2 Mar 2023 09:37:24 +0000 (+0100) Subject: baculum: Fix compatibility with PHP 5.4 X-Git-Tag: Release-13.0.3~124 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=839d863ea8f6aba6bef76222ec10e2ed0c0c1c89;p=thirdparty%2Fbacula.git baculum: Fix compatibility with PHP 5.4 --- diff --git a/gui/baculum/protected/API/Pages/API/JobsObjects.php b/gui/baculum/protected/API/Pages/API/JobsObjects.php index 8224372ea..8f3b7c58a 100644 --- a/gui/baculum/protected/API/Pages/API/JobsObjects.php +++ b/gui/baculum/protected/API/Pages/API/JobsObjects.php @@ -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 diff --git a/gui/baculum/protected/API/Pages/API/PluginM365EmailAttachmentList.php b/gui/baculum/protected/API/Pages/API/PluginM365EmailAttachmentList.php index ae50d033a..b27a335f1 100644 --- a/gui/baculum/protected/API/Pages/API/PluginM365EmailAttachmentList.php +++ b/gui/baculum/protected/API/Pages/API/PluginM365EmailAttachmentList.php @@ -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. diff --git a/gui/baculum/protected/API/Pages/API/PluginM365EmailList.php b/gui/baculum/protected/API/Pages/API/PluginM365EmailList.php index b229cb13f..043a5241e 100644 --- a/gui/baculum/protected/API/Pages/API/PluginM365EmailList.php +++ b/gui/baculum/protected/API/Pages/API/PluginM365EmailList.php @@ -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. diff --git a/gui/baculum/protected/API/Pages/API/PluginM365ListLoggedUsers.php b/gui/baculum/protected/API/Pages/API/PluginM365ListLoggedUsers.php index a2effb8cd..ef22d2d16 100644 --- a/gui/baculum/protected/API/Pages/API/PluginM365ListLoggedUsers.php +++ b/gui/baculum/protected/API/Pages/API/PluginM365ListLoggedUsers.php @@ -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; } } diff --git a/gui/baculum/protected/API/Pages/API/PluginVSphereListDatastores.php b/gui/baculum/protected/API/Pages/API/PluginVSphereListDatastores.php index 93ac01a2c..62ffb483b 100644 --- a/gui/baculum/protected/API/Pages/API/PluginVSphereListDatastores.php +++ b/gui/baculum/protected/API/Pages/API/PluginVSphereListDatastores.php @@ -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; } } diff --git a/gui/baculum/protected/API/Pages/API/PluginVSphereListHosts.php b/gui/baculum/protected/API/Pages/API/PluginVSphereListHosts.php index b52783c5f..85351724a 100644 --- a/gui/baculum/protected/API/Pages/API/PluginVSphereListHosts.php +++ b/gui/baculum/protected/API/Pages/API/PluginVSphereListHosts.php @@ -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; } } diff --git a/gui/baculum/protected/API/Pages/API/PluginVSphereListServers.php b/gui/baculum/protected/API/Pages/API/PluginVSphereListServers.php index be0c08425..f62398c46 100644 --- a/gui/baculum/protected/API/Pages/API/PluginVSphereListServers.php +++ b/gui/baculum/protected/API/Pages/API/PluginVSphereListServers.php @@ -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; } }