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"];
     }
 }
Exemplo n.º 2
0
 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"];
             }
         }
     }
 }
Exemplo n.º 3
0
 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();
Exemplo n.º 4
0
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"])) {