From dd497ba5a35285e9b41ee592095d3356480ed9d6 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 9 May 2017 17:31:37 +0200 Subject: [rebootcontrol] Fix current session display, colors for on/off --- .../rebootcontrol/inc/rebootqueries.inc.php | 17 +++++++++++++++-- modules-available/rebootcontrol/templates/_page.html | 4 ++-- 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'modules-available') diff --git a/modules-available/rebootcontrol/inc/rebootqueries.inc.php b/modules-available/rebootcontrol/inc/rebootqueries.inc.php index 62092748..3b665e5b 100644 --- a/modules-available/rebootcontrol/inc/rebootqueries.inc.php +++ b/modules-available/rebootcontrol/inc/rebootqueries.inc.php @@ -19,12 +19,25 @@ class RebootQueries } $res = Database::simpleQuery(" SELECT machine.machineuuid, machine.hostname, machine.clientip, - IF(machine.lastboot = 0 OR UNIX_TIMESTAMP() - machine.lastseen >= 600, 0, 1) AS status, + machine.lastboot, machine.lastseen, machine.logintime, $sessionField, machine.currentuser, machine.locationid FROM machine $leftJoin WHERE " . $where, array('locationid' => $locationId)); - return $res->fetchAll(PDO::FETCH_ASSOC); + $ret = $res->fetchAll(PDO::FETCH_ASSOC); + $NOW = time(); + foreach ($ret as &$row) { + if ($row['lastboot'] == 0 || $NOW - $row['lastseen'] > 600) { + $row['status'] = 0; + } else { + $row['status'] = 1; + } + if ($row['status'] === 0 || $row['logintime'] == 0) { + $row['currentuser'] = ''; + $row['currentsession'] = ''; + } + } + return $ret; } /** diff --git a/modules-available/rebootcontrol/templates/_page.html b/modules-available/rebootcontrol/templates/_page.html index 690316df..065a9f01 100644 --- a/modules-available/rebootcontrol/templates/_page.html +++ b/modules-available/rebootcontrol/templates/_page.html @@ -40,10 +40,10 @@ {{clientip}} {{#status}} - {{lang_on}} + {{lang_on}} {{/status}} {{^status}} - {{lang_off}} + {{lang_off}} {{/status}} {{#status}}{{currentsession}}{{/status}} -- cgit v1.2.3-55-g7522