Example #1
0
 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");