function UsersOnline() { if (($r = CStatisticWS::CheckAuth()) !== False) { return $r; } $dbresult = CUserOnline::GetList($guest_count, $session_count, array("s_session_time" => "desc")); $result = array("GUEST_COUNT" => $guest_count, "SESSIONS" => array()); $i = 0; while ($ar = $dbresult->Fetch()) { foreach ($ar as &$v) { $v = htmlspecialchars($v); } $strTmp = ""; $rsUser = CUser::GetByID($ar["LAST_USER_ID"]); if ($ar1 = $rsUser->GetNext()) { $strTmp = "[" . $ar1["ID"] . "] " . $ar1["NAME"] . " " . $ar1["LAST_NAME"] . " (" . $ar1["LOGIN"] . ") "; } else { $strTmp = "[" . $ar["LAST_USER_ID"] . "]"; } $ar["USER_NAME"] = $strTmp; $result["SESSIONS"][$i++ . ':SESSION'] = $ar; } return $result; }
} else { if ($e = $APPLICATION->GetException()) { $GLOBALS["lAdmin"]->AddFilterError(GetMessage("STAT_FILTER_ERROR") . ": " . $e->GetString()); } } $arDelay = array(20, 30, 60, 120, 300); if ($delay > 0) { $_SESSION["SESS_DELAY"] = $delay; } if (intval($_SESSION["SESS_DELAY"]) > 0) { $delay = intval($_SESSION["SESS_DELAY"]); } if (!in_array($delay, $arDelay)) { $delay = 30; } $rsData = CUserOnline::GetList($guest_count, $session_count, array($by => $order), $arFilter); $s = str_replace("#SESSIONS#", $session_count, GetMessage("STAT_TITLE")); $s = str_replace("#GUESTS#", $guest_count, $s); $lAdmin->onLoadScript = "BX.adminPanel.setTitle('" . addslashes($s) . "');"; $APPLICATION->SetTitle($s); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("STAT_USERS_PAGES"))); $arHeaders = array(); $arHeaders[] = array("id" => "ID", "content" => GetMessage("STAT_VIEW_SESSION"), "default" => false, "sort" => "s_id"); $arHeaders[] = array("id" => "ADV_ID", "content" => GetMessage("STAT_VIEW_ADV"), "default" => true, "sort" => "s_adv_id"); $arHeaders[] = array("id" => "HITS", "content" => GetMessage("STAT_HITS"), "default" => true, "sort" => "s_hits"); $arHeaders[] = array("id" => "SESSION_TIME", "content" => GetMessage("STAT_SESSION_TIME"), "default" => true, "sort" => "s_session_time"); $arHeaders[] = array("id" => "LAST_USER_ID", "content" => GetMessage("STAT_USER"), "default" => true, "sort" => "s_guest_id"); $arHeaders[] = array("id" => "IP_LAST", "content" => GetMessage("STAT_IP"), "default" => true, "sort" => "s_ip"); $arHeaders[] = array("id" => "COUNTRY_ID", "content" => GetMessage("STAT_COUNTRY"), "default" => true, "sort" => "s_country_id");