jakCheckrestlogged($userid, $loginhash); if ($usr) { // Get the current time $currentime = time(); // Get the user fields $jakuser = new JAK_user($usr); // Check if a sibling has logged in if ($jakuser->getVar("opid") != 0) { $opcacheid = $jakuser->getVar("opid"); } else { $opcacheid = $jakuser->getVar("id"); } // Cache stuff if (file_exists(APP_PATH.JAK_CACHE_DIRECTORY.'/opcache'.$jakuser->getVar("id").'.php')) include_once APP_PATH.JAK_CACHE_DIRECTORY.'/opcache'.$jakuser->getVar("id").'.php'; // timezone from server date_default_timezone_set(JAK_TIMEZONESERVER); $jakdb->query('SET time_zone = "'.date("P").'"'); $useronline = array(); // 5 Minutes ago $mino = date('Y-m-d H:i:s', $currentime - 5 * 60); // Get the user department $usrdep = $jakuser->getVar("chat_dep"); // Now only get the department for the user if (isset($usrdep) && is_numeric($usrdep) && $usrdep != 0) { $useronline = $jakdb->select("buttonstats", ["[>]sessions" => ["session" => "session"]], ["buttonstats.id", "buttonstats.referrer", "buttonstats.agent", "buttonstats.hits", "buttonstats.ip", "buttonstats.lasttime", "buttonstats.time", "buttonstats.readtime", "sessions.initiated", "sessions.ended"], ["AND" => ["buttonstats.opid" => $opcacheid, "buttonstats.singleopid" => [0, $userid], "buttonstats.depid" => $usrdep, "#buttonstats.lasttime[>]" => $mino], "GROUP" => "buttonstats.session", "ORDER" => ["buttonstats.lasttime" => "DESC"], "LIMIT" => 30]); } elseif (isset($usrdep) && $usrdep == 0) { $useronline = $jakdb->select("buttonstats", ["[>]sessions" => ["session" => "session"]], ["buttonstats.id", "buttonstats.referrer", "buttonstats.agent", "buttonstats.hits", "buttonstats.ip", "buttonstats.lasttime", "buttonstats.time", "buttonstats.readtime", "sessions.initiated", "sessions.ended"], ["AND" => ["buttonstats.opid" => $opcacheid, "buttonstats.singleopid" => [0, $userid], "#buttonstats.lasttime[>]" => $mino], "GROUP" => "buttonstats.session", "ORDER" => ["buttonstats.lasttime" => "DESC"], "LIMIT" => 30]); } elseif (isset($usrdep)) { $useronline = $jakdb->select("buttonstats", ["[>]sessions" => ["session" => "session"]], ["buttonstats.id", "buttonstats.referrer", "buttonstats.agent", "buttonstats.hits", "buttonstats.ip", "buttonstats.lasttime", "buttonstats.time", "buttonstats.readtime", "sessions.initiated", "sessions.ended"], ["AND" => ["buttonstats.opid" => $opcacheid, "buttonstats.singleopid" => [0, $userid], "buttonstats.depid" => explode(",",$usrdep), "#buttonstats.lasttime[>]" => $mino], "GROUP" => "buttonstats.session", "ORDER" => ["buttonstats.lasttime" => "DESC"], "LIMIT" => 30]); } if (isset($useronline) && !empty($useronline)) { $uo = array(); foreach ($useronline as $v) { if (empty($v["initiated"])) $v["initiated"] = 0; if (empty($v["ended"])) $v["ended"] = 0; $v["proactive"] = $v["readtime"]; $uo[] = $v; } // PHP 8.2.3 Fix array_walk_recursive($uo, function (&$v) { $v = (string)$v; }); die(json_encode(array('status' => true, 'useronline' => $uo))); } else { die(json_encode(array('status' => false, 'errorcode' => 9))); } } else { die(json_encode(array('status' => false, 'errorcode' => 1))); } } die(json_encode(array('status' => false, 'errorcode' => 7))); ?>