static function AutoLoad($_isoTwoletterCode = "", $_require = false) { if (Is::Defined("DB_CONNECTION")) { Server::InitDataBlock(array("LANGUAGES")); if (!$_require && !empty(Visitor::$BrowserLanguage)) { return; } $isoToRequire = "en"; if (empty($_isoTwoletterCode)) { $_isoTwoletterCode = LocalizationManager::Detect(); } if (!empty(Server::$Configuration->File["gl_on_def_lang"]) && file_exists($tfile = LocalizationManager::GetLocalizationFileString(Server::$Configuration->File["gl_default_language"])) && @filesize($tfile) > 0) { Visitor::$BrowserLanguage = Server::$Configuration->File["gl_default_language"]; $isoToRequire = Server::$Configuration->File["gl_default_language"]; } else { if (empty($_isoTwoletterCode) || !empty($_isoTwoletterCode) && strpos($_isoTwoletterCode, "..") === false) { if (!empty($_isoTwoletterCode) && strlen($_isoTwoletterCode) >= 5 && substr($_isoTwoletterCode, 2, 1) == "-" && file_exists($tfile = LocalizationManager::GetLocalizationFileString(substr($_isoTwoletterCode, 0, 5))) && @filesize($tfile) > 0) { $isoToRequire = $s_browser_language = strtolower(substr($_isoTwoletterCode, 0, 5)); } else { if (!empty($_isoTwoletterCode) && strlen($_isoTwoletterCode) > 1 && file_exists($tfile = LocalizationManager::GetLocalizationFileString(substr($_isoTwoletterCode, 0, 2))) && @filesize($tfile) > 0) { $isoToRequire = $s_browser_language = strtolower(substr($_isoTwoletterCode, 0, 2)); } else { if (file_exists($tfile = LocalizationManager::GetLocalizationFileString(Server::$Configuration->File["gl_default_language"])) && @filesize($tfile) > 0) { $isoToRequire = $s_browser_language = Server::$Configuration->File["gl_default_language"]; } } } if (isset($s_browser_language)) { Visitor::$BrowserLanguage = $s_browser_language; } } else { if (file_exists(LocalizationManager::GetLocalizationFileString(Server::$Configuration->File["gl_default_language"]))) { $isoToRequire = Server::$Configuration->File["gl_default_language"]; } } } if (empty(Visitor::$BrowserLanguage) && file_exists(LocalizationManager::GetLocalizationFileString("en"))) { Visitor::$BrowserLanguage = "en"; } LocalizationManager::$Direction = Server::$Languages[strtoupper(Visitor::$BrowserLanguage)][2] ? "rtl" : "ltr"; if ($_require) { DataInput::Build(); } } else { $isoToRequire = "en"; } if (!empty($isoToRequire)) { LocalizationManager::LoadFromFile($isoToRequire); } }
function languageSelect($_mylang = "", $_require = false) { global $CONFIG, $INTERNAL, $LANGUAGES, $DEFAULT_BROWSER_LANGUAGE, $LANG_DIR, $LZLANG; //++ if (is("DB_CONNECTION")) { initData(array("LANGUAGES")); if (!$_require && !empty($DEFAULT_BROWSER_LANGUAGE)) { return; } requireDynamic(getLocalizationFileString("en"), LIVEZILLA_PATH . "_language/"); if (empty($_mylang)) { if (defined("CALLER_TYPE") && CALLER_TYPE == CALLER_TYPE_INTERNAL && defined("CALLER_SYSTEM_ID")) { $_mylang = strtolower($INTERNAL[CALLER_SYSTEM_ID]->Language); } else { $_mylang = getBrowserLocalization(); $_mylang = strtolower($_mylang[0]); } } if (!empty($CONFIG["gl_on_def_lang"]) && file_exists($tfile = getLocalizationFileString($CONFIG["gl_default_language"])) && @filesize($tfile) > 0) { $DEFAULT_BROWSER_LANGUAGE = $CONFIG["gl_default_language"]; requireDynamic(getLocalizationFileString($CONFIG["gl_default_language"]), LIVEZILLA_PATH . "_language/"); } else { if (empty($_mylang) || !empty($_mylang) && strpos($_mylang, "..") === false) { if (!empty($_mylang) && strlen($_mylang) >= 5 && substr($_mylang, 2, 1) == "-" && file_exists($tfile = getLocalizationFileString(substr($_mylang, 0, 5))) && @filesize($tfile) > 0) { requireDynamic(getLocalizationFileString($s_browser_language = strtolower(substr($_mylang, 0, 5))), LIVEZILLA_PATH . "_language/"); } else { if (!empty($_mylang) && strlen($_mylang) > 1 && file_exists($tfile = getLocalizationFileString(substr($_mylang, 0, 2))) && @filesize($tfile) > 0) { requireDynamic(getLocalizationFileString($s_browser_language = strtolower(substr($_mylang, 0, 2))), LIVEZILLA_PATH . "_language/"); } else { if (file_exists($tfile = getLocalizationFileString($CONFIG["gl_default_language"])) && @filesize($tfile) > 0) { requireDynamic(getLocalizationFileString($s_browser_language = $CONFIG["gl_default_language"]), LIVEZILLA_PATH . "_language/"); } } } if (isset($s_browser_language)) { $DEFAULT_BROWSER_LANGUAGE = $s_browser_language; } } else { if (file_exists(getLocalizationFileString($CONFIG["gl_default_language"]))) { requireDynamic(getLocalizationFileString($CONFIG["gl_default_language"]), LIVEZILLA_PATH . "_language/"); } } } if (empty($DEFAULT_BROWSER_LANGUAGE) && file_exists(getLocalizationFileString("en"))) { $DEFAULT_BROWSER_LANGUAGE = "en"; } if (empty($DEFAULT_BROWSER_LANGUAGE) || !empty($DEFAULT_BROWSER_LANGUAGE) && !@file_exists(getLocalizationFileString($DEFAULT_BROWSER_LANGUAGE))) { if (!(defined("SERVERSETUP") && SERVERSETUP)) { exit("Localization error: default language is not available."); } } $LANG_DIR = $LANGUAGES[strtoupper($DEFAULT_BROWSER_LANGUAGE)][2] ? "rtl" : "ltr"; if ($_require) { DataInput::Build(); } } else { requireDynamic(getLocalizationFileString("en"), LIVEZILLA_PATH . "_language/"); } }
function TicketMessageCreate() { Server::InitCacheManager(); $message = new TicketMessage(); $params = ApiV2::GetObjectFields("TicketMessage"); if ($message = $this->CreateFromJSON($params, json_decode($_POST["p_data"]), $message, "TicketMessage")) { $ticket = new Ticket($message->TicketId, true); $ticket->LoadMessages(); if (count($ticket->Messages) == 0) { $message->Id = $ticket->Id; } else { $message->Id = getid(32); } if (!empty($message->SenderId)) { if (Operator::GetSystemId($message->SenderId) != null) { $message->SenderUserId = Operator::GetSystemId($message->SenderId); } } if (is_array($message->Customs)) { $message->Customs = ApiV2::ToNameBasedArray($message->Customs); $message->Customs = DataInput::ToIndexBased($message->Customs); } if (is_array($message->Comments)) { foreach ($message->Comments as $comar) { $message->AddComment($comar[0], $ticket->Id, $comar[1]); } } if (empty($message->ChannelId)) { $message->ChannelId = getId(32); } $message->Hash = $ticket->GetHash(); $message->Save($ticket->Id); if (!empty($_POST["p_sendemailreply"])) { $ticket->Load(); $ticket->SendEditorReply($message->Id, !empty($_POST["p_quotemessageid"]) ? $_POST["p_quotemessageid"] : ""); } if (!empty($_POST["p_sendemailresponder"])) { $ticket->Load(); $ticket->SendAutoresponder(null, null, $message); } $ticket->SetLastUpdate(time()); $this->JSONOutput = APIV2::Encode(array("TicketMessage" => ApiV2::ClearObject($params, $message)), $this->JSONParams); } }
function TicketMessageCreate() { $message = new TicketMessage(); $params = ApiV2::GetObjectFields("TicketMessage"); if ($message = $this->CreateFromJSON($params, json_decode($_POST["p_data"]), $message, "TicketMessage")) { $ticket = new Ticket($message->TicketId, true); $ticket->LoadMessages(); if (count($ticket->Messages) == 0) { $message->Id = $ticket->Id; } else { $message->Id = getid(32); } if (is_array($message->Customs)) { $message->Customs = ApiV2::ToNameBasedArray($message->Customs); $message->Customs = DataInput::ToIndexBased($message->Customs); } if (is_array($message->Comments)) { foreach ($message->Comments as $comar) { $message->AddComment($comar[0], $ticket->Id, $comar[1]); } } if (empty($message->ChannelId)) { $message->ChannelId = getId(32); } $message->Hash = $ticket->GetHash(); $message->Save($ticket->Id); $this->JSONOutput = APIV2::Encode(array("TicketMessage" => ApiV2::ClearObject($params, $message)), $this->JSONParams); } }
} if (empty($USER->Browsers[0]->Question) && !empty($_GET["mp0"])) { $USER->Browsers[0]->Question = cutString(base64UrlDecode($_GET["mp0"]), 255); $changed = true; } if ($changed) { $USER->Browsers[0]->SaveLoginData(); $USER->Browsers[1]->SaveLoginData(); $USER->UpdateOverlayDetails(); } if (!$conline && !empty($_GET["ovloo"])) { $USER->AddFunctionCall("if(lz_session.OVLCState == '0')lz_tracking_remove_overlay_chat();", false); } else { if (!empty($_GET["pc"]) && $_GET["pc"] == 1) { $text = $conline ? getOParam("ovlt", $LZLANG["client_overlay_title_online"], $c, FILTER_HTML_ENTITIES) : getOParam("ovlto", $LZLANG["client_overlay_title_offline"], $c, FILTER_HTML_ENTITIES); $TRACKINGSCRIPT .= "lz_tracking_add_overlay_chat('" . base64_encode($chat) . "','" . base64_encode(base64UrlDecode($text)) . "',280," . DataInput::GetMaxHeight() . "," . getOParam("ovlml", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . getOParam("ovlmt", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . getOParam("ovlmr", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . getOParam("ovlmb", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . ",'" . getOParam("ovlp", 21, $nu, FILTER_SANITIZE_NUMBER_INT) . "',true," . parseBool($conline) . ");"; $eca = getOParam("eca", 0, $nu, FILTER_VALIDATE_INT); if (!empty($eca)) { $ecw = getOParam("ecw", 280, $nu, FILTER_VALIDATE_INT); $ech = getOParam("ech", 100, $nu, FILTER_VALIDATE_INT); if ($eca == 1) { $catcher = getFile(TEMPLATE_HTML_EYE_CATCHER_BUBBLE); $catcher = str_replace("<!--width-->", $ecw, $catcher); $catcher = str_replace("<!--height-->", $ech, $catcher); $catcher = str_replace("<!--header_padding-->", getOParam("echp", 16, $nu, FILTER_VALIDATE_INT), $catcher); $catcher = str_replace("<!--header_sub_padding-->", getOParam("echsp", 43, $nu, FILTER_VALIDATE_INT), $catcher); $catcher = str_replace("<!--header_color-->", getOParam("echc", "#FFFFFF", $nu, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => FILTER_VALIDATE_REGEXP_HEXCOLOR))), $catcher); } else { $catcher = getFile(TEMPLATE_HTML_EYE_CATCHER_IMAGE); } $TRACKINGSCRIPT .= "lz_tracking_add_eye_catcher('" . base64_encode($catcher) . "'," . $ecw . "," . $ech . "," . getOParam("ovlml", 0, $nu, FILTER_VALIDATE_INT) . "," . getOParam("ovlmr", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . getOParam("ecmb", 27, $nu, FILTER_VALIDATE_INT) . ",'" . getOParam("ovlp", 21, $nu, FILTER_VALIDATE_INT) . "','" . getOParam("ecsa", 0, $nu, FILTER_VALIDATE_INT) . "','" . getOParam("ecsb", 5, $nu, FILTER_VALIDATE_INT) . "','" . getOParam("ecsx", 3, $nu, FILTER_VALIDATE_INT) . "','" . getOParam("ecsy", 3, $nu, FILTER_VALIDATE_INT) . "','" . getOParam("ecsc", "#464646", $nu, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => FILTER_VALIDATE_REGEXP_HEXCOLOR))) . "','" . getOParam("ecsgs", "#659f2a", $nu, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => FILTER_VALIDATE_REGEXP_HEXCOLOR))) . "','" . getOParam("ecsge", "#7dbd3c", $nu, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => FILTER_VALIDATE_REGEXP_HEXCOLOR))) . "','" . getOParam("ecslw", 2, $nu, FILTER_VALIDATE_INT) . "','" . getOParam("ecfs", "#73be28", $nu, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => FILTER_VALIDATE_REGEXP_HEXCOLOR))) . "','" . getOParam("ecfe", "#659f2a", $nu, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => FILTER_VALIDATE_REGEXP_HEXCOLOR))) . "');";
$changed = true; } if ($changed) { $USER->Browsers[0]->ApplyUserData(); $USER->Browsers[1]->UserData = $USER->Browsers[0]->UserData; $USER->Browsers[1]->ApplyUserData(true); if (!$USER->Browsers[0]->Closed) { $USER->Browsers[0]->UpdateArchive(Communication::ReadParameter("tc", -1) == 1 ? $USER->Browsers[0]->UserData->Email : ""); } } if (!$OVERLAY->IsHumanChatAvailable && !empty($_GET["ovloo"])) { $USER->AddFunctionCall("if(lz_session.OVLCState == '0')lz_tracking_remove_overlay_chat();", false); } else { if (Visitor::$PollCount == 1) { $ovlw = Communication::ReadParameter("ovlw", 300); $ovlh = Communication::ReadParameter("ovlh", DataInput::GetMaxHeight()); $text = $OVERLAY->IsHumanChatAvailable ? Communication::GetParameter("ovlt", LocalizationManager::$TranslationStrings["client_overlay_title_online"], $c, FILTER_HTML_ENTITIES) : Communication::GetParameter("ovlto", LocalizationManager::$TranslationStrings["client_overlay_title_offline"], $c, FILTER_HTML_ENTITIES); VisitorMonitoring::$Response .= "lz_tracking_add_overlay_chat('" . base64_encode($OVERLAY->ChatHTML) . "','" . base64_encode(Encoding::Base64UrlDecode($text)) . "'," . $ovlw . "," . $ovlh . "," . Communication::GetParameter("ovlml", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . Communication::GetParameter("ovlmt", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . Communication::GetParameter("ovlmr", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . "," . Communication::GetParameter("ovlmb", 0, $nu, FILTER_SANITIZE_NUMBER_INT) . ",'" . Communication::ReadParameter("ovlp", 22) . "',true," . To::BoolString($OVERLAY->IsHumanChatAvailable) . ");"; $eca = Communication::GetParameter("eca", 0, $nu, FILTER_VALIDATE_INT); if (!empty($_GET["eca"]) && !(!empty($_GET["echm"]) && VisitorMonitoring::$IsMobile && !VisitorMonitoring::$IsTablet)) { $ecw = Communication::ReadParameter("ecw", $ovlw); $ech = Communication::ReadParameter("ech", 100); if ($eca == 1) { $catcher = IOStruct::GetFile(TEMPLATE_HTML_EYE_CATCHER_BUBBLE); $catcher = str_replace("<!--width-->", $ecw, $catcher); $catcher = str_replace("<!--height-->", $ech, $catcher); $catcher = str_replace("<!--header_padding-->", Communication::ReadParameter("echp", 16), $catcher); $catcher = str_replace("<!--header_sub_padding-->", Communication::ReadParameter("echsp", 43), $catcher); $catcher = str_replace("<!--header_color-->", Communication::ReadParameter("echc", "#6ea30c"), $catcher); } else { $catcher = IOStruct::GetFile(TEMPLATE_HTML_EYE_CATCHER_IMAGE);