function GroupBuilder($_internalUsers, $_internalGroups, $_config, $_reqGroup = "", $_reqOperator = "", $allowCom = true) { $this->ReqGroup = !empty($_GET[GET_EXTERN_GROUP]) ? base64UrlDecode($_GET[GET_EXTERN_GROUP]) : $_reqGroup; $this->ReqOperator = !empty($_GET[GET_EXTERN_INTERN_USER_ID]) ? base64UrlDecode($_GET[GET_EXTERN_INTERN_USER_ID]) : $_reqOperator; $this->InternalUsers = $_internalUsers; $this->InternalGroups = $_internalGroups; $this->Config = $_config; $this->GroupValues["groups_online"] = array(); $this->GroupValues["groups_offline"] = array(); $this->GroupValues["groups_online_amounts"] = array(); $this->GroupValues["groups_output"] = array(); $this->GroupValues["groups_hidden"] = array(); $this->GroupValues["set_by_get_user"] = null; $this->GroupValues["set_by_get_group"] = null; $this->GroupValues["set_by_cookie"] = null; $this->GroupValues["set_by_standard"] = null; $this->GroupValues["set_by_online"] = null; $this->GroupValues["req_for_user"] = !empty($this->ReqOperator); $this->GroupValues["req_for_group"] = !empty($this->ReqGroup); $this->Parameters = getTargetParameters($allowCom); if ($this->Parameters["include_group"] != null || $this->Parameters["include_user"] != null) { foreach ($_internalGroups as $gid => $group) { if (!($this->Parameters["include_group"] != null && in_array($gid, $this->Parameters["include_group"]))) { if (!($this->Parameters["include_user"] != null && in_array($gid, $_internalUsers[Operator::GetSystemId($this->Parameters["include_user"])]->GetGroupList(false)))) { $this->GroupValues["groups_hidden"][] = $gid; } } } } if ($this->Parameters["exclude"] != null) { $this->GroupValues["groups_hidden"] = $this->Parameters["exclude"]; } }
function GroupBuilder($_internalUsers, $_internalGroups, $_config) { $this->InternalUsers = $_internalUsers; $this->InternalGroups = $_internalGroups; $this->Config = $_config; $this->GroupValues["groups_online"] = array(); $this->GroupValues["groups_offline"] = array(); $this->GroupValues["groups_online_amounts"] = array(); $this->GroupValues["groups_output"] = array(); $this->GroupValues["groups_hidden"] = array(); $this->GroupValues["set_by_get_user"] = null; $this->GroupValues["set_by_get_group"] = null; $this->GroupValues["set_by_cookie"] = null; $this->GroupValues["set_by_standard"] = null; $this->GroupValues["set_by_online"] = null; $this->GroupValues["req_for_user"] = isset($_GET[GET_EXTERN_INTERN_USER_ID]); $this->GroupValues["req_for_group"] = isset($_GET[GET_EXTERN_GROUP]); $parameters = getTargetParameters(); if ($parameters["include_group"] != null) { foreach ($_internalGroups as $gid => $group) { if (!in_array($gid, $parameters["include_group"])) { $this->GroupValues["groups_hidden"][] = $gid; } } } else { if ($parameters["include_user"] != null) { foreach ($_internalGroups as $gid => $group) { if (!in_array($gid, $_internalUsers[getInternSessIdByUserId($parameters["include_user"])]->Groups)) { $this->GroupValues["groups_hidden"][] = $gid; } } } else { if ($parameters["exclude"] != null) { $this->GroupValues["groups_hidden"] = $parameters["exclude"]; } } } }
if ($EXTERNALUSER->IsCrawler) { abortTracking(8); } else { if ($EXTERNALUSER->SignatureMismatch) { $TRACKINGSCRIPT = "lz_tracking_set_sessid(\"" . base64_encode($EXTERNALUSER->UserId) . "\",\"" . base64_encode(CALLER_BROWSER_ID) . "\");"; $TRACKINGSCRIPT .= "lz_tracking_callback(5);"; $TRACKINGSCRIPT .= "lz_tracking_poll_server();"; } else { if (isset($_GET[GET_TRACK_CLOSE_CHAT_WINDOW])) { $chat = VisitorChat::FromCache($EXTERNALUSER->UserId, $_GET[GET_TRACK_CLOSE_CHAT_WINDOW]); $chat->ExternalClose(); $chat->Destroy(); } $BROWSER->LastActive = time(); $BROWSER->VisitId = $EXTERNALUSER->VisitId; $parameters = getTargetParameters(false); $conline = operatorsAvailable(0, $parameters["exclude"], $parameters["include_group"], $parameters["include_user"], false) > 0; $BROWSER->OverlayContainer = !empty($_GET["ovlc"]); if ($monitoringActive) { $BROWSER->Save(); } if (isset($currentURL) && (count($BROWSER->History) == 0 || count($BROWSER->History) > 0 && $BROWSER->History[count($BROWSER->History) - 1]->Url->GetAbsoluteUrl() != $currentURL->Url->GetAbsoluteUrl())) { $BROWSER->History[] = $currentURL; if (!isnull($BROWSER->History[count($BROWSER->History) - 1]->Referrer->GetAbsoluteUrl())) { if ($BROWSER->SetQuery($BROWSER->History[count($BROWSER->History) - 1]->Referrer->GetAbsoluteUrl())) { $BROWSER->History[count($BROWSER->History) - 1]->Referrer->MarkSearchEngine(); } } if ($monitoringActive) { $BROWSER->History[count($BROWSER->History) - 1]->Save(CALLER_BROWSER_ID, count($BROWSER->History) == 1); $BROWSER->ForceUpdate();
if (!defined("LIVEZILLA_PATH")) { define("LIVEZILLA_PATH", "./"); } @set_time_limit(30); require LIVEZILLA_PATH . "_definitions/definitions.inc.php"; require LIVEZILLA_PATH . "_lib/objects.global.users.inc.php"; require LIVEZILLA_PATH . "_lib/functions.global.inc.php"; require LIVEZILLA_PATH . "_definitions/definitions.dynamic.inc.php"; require LIVEZILLA_PATH . "_definitions/definitions.protocol.inc.php"; @set_error_handler("handleError"); @error_reporting(E_ALL); header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Keep-Alive: timeout=5, max=100"); initDataProvider(); $parameters = getTargetParameters(); $html = ""; if (!empty($_GET["id"]) && is_numeric($_GET["id"])) { $prefix = !empty($_GET["type"]) && $_GET["type"] == "overlay" ? "overlay" : "inlay"; if (operatorsAvailable(0, $parameters["exclude"], $parameters["include_group"], $parameters["include_user"]) > 0) { exit(getFileById($_GET["id"], true, $prefix)); } else { if (!empty($_GET["cboo"])) { header("Content-Type: image/gif;"); exit(file_get_contents(PATH_IMAGES . "chat_blank.gif")); } else { exit(getFileById($_GET["id"], false, $prefix)); } } } else { if (!empty($_GET["tl"]) && !empty($_GET["srv"])) {