diff options
author | Simon Rettberg | 2021-05-06 10:26:09 +0200 |
---|---|---|
committer | Simon Rettberg | 2021-05-11 14:51:13 +0200 |
commit | 8dc2b92d667f1401ab9f1315a36add61658f899c (patch) | |
tree | 452c5fe040055884cf9d9ee834415db84999a9a1 /modules-available/runmode | |
parent | [session] Add simple session overview table (diff) | |
download | slx-admin-8dc2b92d667f1401ab9f1315a36add61658f899c.tar.gz slx-admin-8dc2b92d667f1401ab9f1315a36add61658f899c.tar.xz slx-admin-8dc2b92d667f1401ab9f1315a36add61658f899c.zip |
Moderize Database handling
* Auto-convert to utf8mb4_unicode_520_ci
* Use foreach instead of while to loop over results
* Drop useless statement caching
* Keep emulated prepares, as we sometimes loop over nested queries
Diffstat (limited to 'modules-available/runmode')
-rw-r--r-- | modules-available/runmode/inc/runmode.inc.php | 6 | ||||
-rw-r--r-- | modules-available/runmode/page.inc.php | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/modules-available/runmode/inc/runmode.inc.php b/modules-available/runmode/inc/runmode.inc.php index 4d077f02..ccc432d2 100644 --- a/modules-available/runmode/inc/runmode.inc.php +++ b/modules-available/runmode/inc/runmode.inc.php @@ -139,7 +139,7 @@ class RunMode $res = Database::simpleQuery('SELECT machineuuid, modeid, modedata FROM runmode WHERE module = :module', compact('module')); $ret = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { if ($groupByModeId) { if (!isset($ret[$row['modeid']])) { $ret[$row['modeid']] = array(); @@ -177,7 +177,7 @@ class RunMode WHERE module = :module AND modeid = :modeId", compact('module', 'modeId')); $ret = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { if ($detailed && empty($row['hostname'])) { $row['hostname'] = $row['clientip']; } @@ -204,7 +204,7 @@ class RunMode } $res = Database::simpleQuery("SELECT machineuuid, module, modeid, isclient $xtra FROM runmode"); $ret = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { if (!is_null($isClient) && ($row['isclient'] != 0) !== $isClient) continue; $ret[$row['machineuuid']] = $row; diff --git a/modules-available/runmode/page.inc.php b/modules-available/runmode/page.inc.php index 0b6dfa02..a551ddc5 100644 --- a/modules-available/runmode/page.inc.php +++ b/modules-available/runmode/page.inc.php @@ -198,15 +198,17 @@ class Page_RunMode extends Page { if ($onlyModule === false) { $where = ''; + $args = []; } else { $where = ' AND r.module = :moduleId '; + $args = ['moduleId' => $onlyModule]; } $res = Database::simpleQuery("SELECT m.machineuuid, m.hostname, m.clientip, r.module, r.modeid, r.isclient" . " FROM runmode r" . " INNER JOIN machine m ON (m.machineuuid = r.machineuuid $where )" - . " ORDER BY m.hostname ASC, m.clientip ASC", array('moduleId' => $onlyModule)); + . " ORDER BY m.hostname ASC, m.clientip ASC", $args); $modules = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { if (!isset($modules[$row['module']])) { if (!Module::isAvailable($row['module'])) continue; @@ -332,7 +334,7 @@ class Page_RunMode extends Page LIMIT 100", $params); $returnObject = [ - 'machines' => $result->fetchAll(PDO::FETCH_ASSOC) + 'machines' => $result->fetchAll() ]; } } |