From c7dad7af7974c648ef69e0eb57fab66fea90b36b Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 1 Sep 2016 19:29:14 +0200 Subject: [statistics] Show current lecture, use new logging format/columns if possible --- modules-available/statistics/page.inc.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'modules-available/statistics/page.inc.php') diff --git a/modules-available/statistics/page.inc.php b/modules-available/statistics/page.inc.php index 0639d784..43b3a6e8 100644 --- a/modules-available/statistics/page.inc.php +++ b/modules-available/statistics/page.inc.php @@ -101,6 +101,11 @@ class Page_Statistics extends Page 'op' => Page_Statistics::$op_nominal, 'type' => 'string', 'column' => false + ], + 'currentuser' => [ + 'op' => Page_Statistics::$op_nominal, + 'type' => 'string', + 'column' => false ] ]; if (Module::isAvailable('locations')) { @@ -597,7 +602,20 @@ class Page_Statistics extends Page private function fillSessionInfo(&$row) { - $res = Database::simpleQuery('SELECT dateline, username, data FROM statistic' + if (!empty($row['currentuser'])) { + $row['username'] = $row['currentuser']; + if (strlen($row['currentsession']) === 36 && Module::isAvailable('dozmod')) { + $lecture = Database::simpleQuery("SELECT lectureid, displayname FROM sat.lecture WHERE lectureid = :lectureid", + array('lectureid' => $row['currentsession'])); + if ($lecture !== false) { + $row['currentsession'] = $lecture['displayname']; + $row['lectureid'] = $lecture['lectureid']; + } + } + $row['session'] = $row['currentsession']; + return; + } + $res = Database::queryFirst('SELECT dateline, username, data FROM statistic' . " WHERE clientip = :ip AND typeid = '.vmchooser-session-name'" . ' AND dateline BETWEEN :start AND :end', array( 'ip' => $row['clientip'], @@ -619,7 +637,7 @@ class Page_Statistics extends Page private function showMachine($uuid) { $client = Database::queryFirst('SELECT machineuuid, locationid, macaddr, clientip, firstseen, lastseen, logintime, lastboot,' - . ' mbram, kvmstate, cpumodel, id44mb, data, hostname, notes FROM machine WHERE machineuuid = :uuid', + . ' mbram, kvmstate, cpumodel, id44mb, data, hostname, currentuser, currentsession, notes FROM machine WHERE machineuuid = :uuid', array('uuid' => $uuid)); // Hack: Get raw collected data if (Request::get('raw', false)) { -- cgit v1.2.3-55-g7522