diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index a57b94dba..30e8d6496 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -496,9 +496,7 @@ class SeedDMS_SessionMgr { function getLastAccessedSessions($datetime) { /* {{{ */ if(!$ts = makeTsFromLongDate($datetime)) return false; - $queryStr = "SELECT * FROM `tblSessions` WHERE `lastAccess`>=".$ts; - $queryStr .= " GROUP BY `userID` "; - $queryStr .= " ORDER BY `lastAccess` DESC"; + $queryStr = "SELECT a.* FROM `tblSessions` AS a LEFT OUTER JOIN `tblSessions` AS b ON a.`userID`=b.`userID` AND a.`lastAccess`< b.`lastAccess` WHERE b.`userID` IS NULL AND a.`lastAccess` >=".$ts; $resArr = $this->db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) return false; diff --git a/views/bootstrap/class.Session.php b/views/bootstrap/class.Session.php index 4d3b5a8a1..4e3dd060a 100644 --- a/views/bootstrap/class.Session.php +++ b/views/bootstrap/class.Session.php @@ -47,6 +47,8 @@ class SeedDMS_View_Session extends SeedDMS_Bootstrap_Style { $sessionmgr = new SeedDMS_SessionMgr($dms->getDB()); /* Get only sessions which has been active in the last 3600 sec. */ $sessions = $sessionmgr->getLastAccessedSessions(date('Y-m-d H:i:s', time()-3600)); + if(!$sessions) + return ''; if ($user->isGuest() || count($sessions) == 0) { return '';