function Save() { global $CONFIG; $_new = func_num_args() > 0 ? func_get_arg(0) : false; if ($_new) { $this->FirstCall = true; $this->Status = CHAT_STATUS_OPEN; } if (empty($this->FirstActive)) { $this->FirstActive = time(); } if ($this->FirstCall) { queryDB(false, "INSERT INTO `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` (`visitor_id` ,`browser_id` ,`visit_id` ,`fullname` ,`email` ,`company` ,`typing` ,`area_code` ,`first_active` ,`last_active` ,`request_operator` ,`request_group` ,`question` ,`customs` ) VALUES ('" . @mysql_real_escape_string($this->UserId) . "','" . @mysql_real_escape_string($this->BrowserId) . "','" . @mysql_real_escape_string($this->VisitId) . "','" . @mysql_real_escape_string($this->Fullname) . "','" . @mysql_real_escape_string($this->Email) . "','" . @mysql_real_escape_string($this->Company) . "',0,'" . @mysql_real_escape_string($this->Code) . "','" . @mysql_real_escape_string($this->FirstActive) . "','" . @mysql_real_escape_string($this->LastActive) . "','" . @mysql_real_escape_string($this->DesiredChatPartner) . "','" . @mysql_real_escape_string($this->DesiredChatGroup) . "','" . @mysql_real_escape_string($this->Question) . "','" . @mysql_real_escape_string(serialize($this->Customs)) . "');"); } else { queryDB(true, "UPDATE `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` SET `typing`='" . @mysql_real_escape_string($this->Typing ? 1 : 0) . "',`customs`='" . @mysql_real_escape_string(serialize($this->Customs)) . "',`request_operator`='" . @mysql_real_escape_string($this->DesiredChatPartner) . "',`request_group`='" . @mysql_real_escape_string($this->DesiredChatGroup) . "',`last_active`='" . @mysql_real_escape_string(time()) . "' WHERE `browser_id`='" . @mysql_real_escape_string($this->BrowserId) . "' AND `visitor_id`='" . @mysql_real_escape_string($this->UserId) . "' AND `chat_id`='" . @mysql_real_escape_string($this->ChatId) . "' LIMIT 1;"); } parent::Save(); if (count($this->History) == 0) { $this->History[0] = new HistoryUrl(LIVEZILLA_URL . FILE_CHAT, $this->Code, $CONFIG["gl_site_name"], "", $this->FirstActive); $this->History[0]->Save($this->BrowserId); } }
function Save() { global $CONFIG; if (empty($this->UserId)) { return; } $_new = func_num_args() > 0 ? func_get_arg(0) : false; if ($_new) { $this->FirstCall = true; $this->Status = CHAT_STATUS_OPEN; } if (empty($this->FirstActive)) { $this->FirstActive = time(); } if ($this->FirstCall) { queryDB(true, "INSERT IGNORE INTO `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` (`visitor_id` ,`browser_id` ,`visit_id` ,`priority`,`fullname` ,`email` ,`company` , `phone`, `call_me_back`, `typing` ,`area_code` ,`first_active` ,`last_active` ,`request_operator` ,`request_group` ,`question` ,`customs`, `chat_ticket_id`, `queue_posts`) VALUES ('" . DBManager::RealEscape($this->UserId) . "','" . DBManager::RealEscape($this->BrowserId) . "','" . DBManager::RealEscape($this->VisitId) . "','" . DBManager::RealEscape($this->Priority) . "','" . DBManager::RealEscape($this->Fullname) . "','" . DBManager::RealEscape($this->Email) . "','" . DBManager::RealEscape($this->Company) . "','" . DBManager::RealEscape($this->Phone) . "'," . DBManager::RealEscape($this->CallMeBack ? 1 : 0) . ",0,'" . DBManager::RealEscape($this->Code) . "','" . DBManager::RealEscape($this->FirstActive) . "','" . DBManager::RealEscape($this->LastActive) . "','" . DBManager::RealEscape($this->DesiredChatPartner) . "','" . DBManager::RealEscape($this->DesiredChatGroup) . "','" . DBManager::RealEscape($this->Question) . "','" . DBManager::RealEscape(serialize($this->Customs)) . "','" . DBManager::RealEscape($this->ChatVoucherId) . "','" . DBManager::RealEscape(serialize($this->QueuedPosts)) . "');"); } else { queryDB(true, "UPDATE `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` SET `typing`='" . DBManager::RealEscape($this->Typing ? 1 : 0) . "',`queue_message_shown`='" . DBManager::RealEscape($this->QueueMessageShown ? 1 : 0) . "',`archive_created`='" . DBManager::RealEscape($this->ArchiveCreated ? 1 : 0) . "',`customs`='" . DBManager::RealEscape(serialize($this->Customs)) . "',`queue_posts`='" . DBManager::RealEscape(serialize($this->QueuedPosts)) . "',`request_operator`='" . DBManager::RealEscape($this->DesiredChatPartner) . "',`chat_ticket_id`='" . DBManager::RealEscape($this->ChatVoucherId) . "',`request_group`='" . DBManager::RealEscape($this->DesiredChatGroup) . "',`last_active`='" . DBManager::RealEscape(time()) . "',`email`='" . DBManager::RealEscape($this->Email) . "' WHERE `browser_id`='" . DBManager::RealEscape($this->BrowserId) . "' AND `visitor_id`='" . DBManager::RealEscape($this->UserId) . "' AND `chat_id`='" . DBManager::RealEscape($this->ChatId) . "' LIMIT 1;"); } parent::Save(); if (count($this->History) == 0) { $this->History[0] = new HistoryUrl(LIVEZILLA_URL . FILE_CHAT, $this->Code, $CONFIG["gl_site_name"], "", $this->FirstActive); $this->History[0]->Save($this->BrowserId, true); } }
abortTracking(8); } else { if ($EXTERNALUSER->SignatureMismatch) { $TRACKINGSCRIPT = "lz_tracking_set_sessid(\"" . htmlentities($EXTERNALUSER->UserId) . "\",\"" . htmlentities(CALLER_BROWSER_ID) . "\");"; $TRACKINGSCRIPT .= "lz_tracking_callback(1);"; $TRACKINGSCRIPT .= "lz_tracking_poll_server();"; } else { if (isset($_GET[GET_TRACK_CLOSE_CHAT_WINDOW])) { $chat = new VisitorChat($EXTERNALUSER->UserId, $_GET[GET_TRACK_CLOSE_CHAT_WINDOW]); $chat->Load(); $chat->ExternalClose(); $chat->Destroy(); } $BROWSER->LastActive = time(); $BROWSER->VisitId = $EXTERNALUSER->VisitId; $BROWSER->Save($EXTERNALUSER, @$_GET[GET_TRACK_URL]); 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(); } } $BROWSER->History[count($BROWSER->History) - 1]->Save(CALLER_BROWSER_ID); $BROWSER->ForceUpdate(); } else { if (count($BROWSER->History) == 0) { abortTracking(11); } } $BROWSER->LoadWebsitePush();
function Save() { if (empty($this->UserId)) { return; } $_new = func_num_args() > 0 ? func_get_arg(0) : false; if ($_new) { $this->FirstCall = true; $this->Status = CHAT_STATUS_OPEN; } if (empty($this->ChatId) && empty(Server::$Configuration->File["gl_save_op"])) { $this->DesiredChatPartner = ""; } if (empty($this->FirstActive)) { $this->FirstActive = time(); } if ($this->FirstCall) { DBManager::Execute(true, "INSERT IGNORE INTO `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` (`visitor_id`,`browser_id`,`visit_id`,`priority`,`call_me_back`, `typing` ,`area_code` ,`first_active` ,`last_active` ,`request_operator` ,`request_group` , `chat_ticket_id`, `queue_posts`) VALUES ('" . DBManager::RealEscape($this->UserId) . "','" . DBManager::RealEscape($this->BrowserId) . "','" . DBManager::RealEscape($this->VisitId) . "','" . DBManager::RealEscape($this->Priority) . "'," . DBManager::RealEscape($this->CallMeBack ? 1 : 0) . ",0,'" . DBManager::RealEscape($this->Code) . "','" . DBManager::RealEscape($this->FirstActive) . "','" . DBManager::RealEscape($this->LastActive) . "','" . DBManager::RealEscape($this->DesiredChatPartner) . "','" . DBManager::RealEscape($this->DesiredChatGroup) . "','" . DBManager::RealEscape($this->ChatVoucherId) . "','" . DBManager::RealEscape(serialize($this->QueuedPosts)) . "');"); } else { DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` SET `typing`='" . DBManager::RealEscape($this->Typing ? 1 : 0) . "',`queue_message_shown`='" . DBManager::RealEscape($this->QueueMessageShown ? 1 : 0) . "',`archive_created`=" . intval($this->ArchiveCreated) . ",`queue_posts`='" . DBManager::RealEscape(serialize($this->QueuedPosts)) . "',`request_operator`='" . DBManager::RealEscape($this->DesiredChatPartner) . "',`chat_ticket_id`='" . DBManager::RealEscape($this->ChatVoucherId) . "',`request_group`='" . DBManager::RealEscape($this->DesiredChatGroup) . "',`last_active`='" . DBManager::RealEscape(time()) . "' WHERE `browser_id`='" . DBManager::RealEscape($this->BrowserId) . "' AND `visitor_id`='" . DBManager::RealEscape($this->UserId) . "' AND `chat_id`='" . DBManager::RealEscape($this->ChatId) . "' LIMIT 1;"); } parent::Save(); if (count($this->History) == 0) { $url = Visitor::GetLastURLFromVisitor($this->UserId); if (empty($url)) { $this->History[0] = new HistoryUrl(LIVEZILLA_URL . FILE_CHAT, $this->Code, Server::$Configuration->File["gl_site_name"], "", $this->FirstActive); } else { $this->History[0] = new HistoryUrl($url, "", "", "", $this->FirstActive); } $this->History[0]->Save($this->BrowserId, true); } }