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);
     }
 }
예제 #4
0
 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);
     }
 }
예제 #5
0
 }
 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))) . "');";
예제 #6
0
     $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);