function ReloadGroups($_overlay = false, $_preSelect = true) { Server::InitDataBlock(array("INTERNAL", "FILTERS")); $grParam = UserGroup::ReadParams(); $opParam = Operator::ReadParams(); if (!empty($grParam) && empty($this->Browsers[0]->DesiredChatGroup)) { $this->Browsers[0]->DesiredChatGroup = $grParam; } if (!empty($opParam)) { $this->Browsers[0]->DesiredChatPartner = Operator::GetSystemId($opParam); } $groupbuilder = new GroupBuilder($this->Browsers[0]->DesiredChatGroup, $this->Browsers[0]->DesiredChatPartner); $groupbuilder->Generate($this); if (!empty($opParam)) { $this->Browsers[0]->DesiredChatPartner = Operator::GetSystemId($opParam); } $groupsAvailable = To::BoolString($groupbuilder->GroupAvailable || isset($_POST[GET_EXTERN_RESET]) && strlen($groupbuilder->ErrorHTML) <= 2); $_preSelect = $_preSelect ? Encoding::Base64UrlEncode($this->Browsers[0]->DesiredChatGroup) : ""; $this->AddFunctionCall("lz_chat_set_groups(" . $groupsAvailable . ",\"" . $groupbuilder->Result . "\" ," . $groupbuilder->ErrorHTML . ",'" . $_preSelect . "');", false); if (!$_overlay) { $this->AddFunctionCall("lz_chat_release(" . $groupsAvailable . "," . $groupbuilder->ErrorHTML . ");", false); } }
function GetPredefinedOperator($_user, &$direct_target, $_allowBots, $_requireBot, $desired = "") { if (!empty($this->TargetOperatorSystemId) && isset(Server::$Operators[$this->TargetOperatorSystemId]) && Server::$Operators[$this->TargetOperatorSystemId]->Status < USER_STATUS_OFFLINE) { if (!(!empty($this->TargetGroupId) && !in_array($this->TargetGroupId, Server::$Operators[$this->TargetOperatorSystemId]->GetGroupList(true)))) { $desired = $this->TargetOperatorSystemId; } } else { $this->TargetOperatorSystemId = null; $opParam = Operator::ReadParams(); if (!empty($opParam)) { $desired = $direct_target = Operator::GetSystemId($opParam); } else { if (!Is::Null(Cookie::Get("internal_user")) && !empty(Server::$Configuration->File["gl_save_op"])) { $desired = Operator::GetSystemId(Cookie::Get("internal_user")); if (!empty(Server::$Operators[$desired]) && !(!empty($this->TargetGroupId) && !in_array($this->TargetGroupId, Server::$Operators[$desired]->GetGroupList(true)))) { $direct_target = $desired; } else { $desired = ""; } } else { if (empty($desired) && !empty(Server::$Configuration->File["gl_save_op"])) { $desired = $_user->GetLastChatOperator(true); } } } } if (!empty($desired) && Server::$Operators[$desired]->MobileSleep($_user->Browsers[0])) { $this->TargetOperatorSystemId = $desired = ""; } else { if (!empty($desired) && !$_allowBots && Server::$Operators[$desired]->IsBot) { $this->TargetOperatorSystemId = $desired = ""; } else { if (!empty($desired) && $_requireBot && !Server::$Operators[$desired]->IsBot) { $this->TargetOperatorSystemId = $desired = ""; } } } return $desired; }
function getPredefinedOperator(&$fromCookie, $_allowBots, $_requireBot, $desired = "") { global $USER, $INTERNAL, $CONFIG; if (!empty($USER->Browsers[0]->DesiredChatPartner) && isset($INTERNAL[$USER->Browsers[0]->DesiredChatPartner]) && $INTERNAL[$USER->Browsers[0]->DesiredChatPartner]->Status < USER_STATUS_OFFLINE) { if (!(!empty($USER->Browsers[0]->DesiredChatGroup) && !in_array($USER->Browsers[0]->DesiredChatGroup, $INTERNAL[$USER->Browsers[0]->DesiredChatPartner]->GetGroupList(true)))) { $desired = $USER->Browsers[0]->DesiredChatPartner; } } else { $USER->Browsers[0]->DesiredChatPartner = null; $opParam = Operator::ReadParams(); if (!empty($opParam)) { $desired = Operator::GetSystemId($opParam); } else { if (!isnull(getCookieValue("internal_user")) && !empty($CONFIG["gl_save_op"])) { $desired = Operator::GetSystemId(getCookieValue("internal_user")); if (!empty($INTERNAL[$desired]) && !(!empty($USER->Browsers[0]->DesiredChatGroup) && !in_array($USER->Browsers[0]->DesiredChatGroup, $INTERNAL[$desired]->GetGroupList(true)))) { $fromCookie = $desired; } else { $desired = ""; } } else { if (empty($desired) && !empty($CONFIG["gl_save_op"])) { $desired = $USER->GetLastChatOperator(true); } } } } if (!empty($desired) && $INTERNAL[$desired]->MobileSleep($USER->Browsers[0])) { $USER->Browsers[0]->DesiredChatPartner = $desired = ""; } else { if (!empty($desired) && !$_allowBots && $INTERNAL[$desired]->IsBot) { $USER->Browsers[0]->DesiredChatPartner = $desired = ""; } else { if (!empty($desired) && $_requireBot && !$INTERNAL[$desired]->IsBot) { $USER->Browsers[0]->DesiredChatPartner = $desired = ""; } } } return $desired; }