function GetExternalObjects()
 {
     global $CONFIG;
     $result = queryDB(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_VISITOR_CHAT_OPERATORS . "` AS `t2` ON `t1`.`chat_id`=`t2`.`chat_id` WHERE `t1`.`exit`=0 AND `t2`.`user_id`='" . @mysql_real_escape_string($this->SystemId) . "';");
     if ($result) {
         while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
             $chat = new VisitorChat($row);
             if ($chat->LastActive < time() - $CONFIG["timeout_clients"]) {
                 $chat->ExternalClose();
             } else {
                 $this->ExternalChats[$chat->SystemId] = $chat;
             }
         }
     }
     $result = queryDB(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_CHAT_FILES . "` WHERE `operator_id`='" . @mysql_real_escape_string($this->SystemId) . "' ORDER BY `created` ASC;");
     if ($result) {
         while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
             $request = new FileUploadRequest($row);
             $rsid = $request->SenderUserId . "~" . $request->SenderBrowserId;
             if (isset($this->ExternalChats[$rsid]) && $this->ExternalChats[$rsid]->Activated == CHAT_STATUS_ACTIVE && $this->ExternalChats[$rsid]->ChatId == $request->ChatId) {
                 $this->ExternalChats[$rsid]->FileUploadRequest = $request;
             }
         }
     }
 }
 function GetExternalObjects()
 {
     global $CONFIG;
     $result = queryDB(false, "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_VISITOR_CHAT_OPERATORS . "` AS `t2` ON `t1`.`chat_id`=`t2`.`chat_id` WHERE `t1`.`exit`=0 AND `t2`.`status`<9 AND `t2`.`user_id`='" . DBManager::RealEscape($this->SystemId) . "';");
     if ($result) {
         while ($row = DBManager::FetchArray($result)) {
             $chat = new VisitorChat($row);
             if ($chat->LastActive < time() - $CONFIG["timeout_chats"] && !($chat->InternalUser != null && $chat->InternalUser->IsBot)) {
                 $chat->ExternalClose();
             } else {
                 $this->ExternalChats[$chat->SystemId] = $chat;
             }
         }
     }
     $result = queryDB(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_CHAT_FILES . "` ORDER BY `created` ASC;");
     if ($result) {
         while ($row = DBManager::FetchArray($result)) {
             $request = new FileUploadRequest($row);
             $rsid = $request->SenderUserId . "~" . $request->SenderBrowserId;
             if (isset($this->ExternalChats[$rsid])) {
                 $this->ExternalChats[$rsid]->FileUploadRequest[] = $request;
             }
         }
     }
 }
Example #3
0
     } else {
         abortTracking(-1);
     }
 }
 if ($EXTERNALUSER->IsCrawler) {
     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 {
 function GetExternalObjects()
 {
     $result = DBManager::Execute(false, "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_VISITOR_CHAT_OPERATORS . "` AS `t2` ON `t1`.`chat_id`=`t2`.`chat_id` WHERE `t1`.`exit`=0 AND `t2`.`status`<9 AND `t2`.`user_id`='" . DBManager::RealEscape($this->SystemId) . "';");
     if ($result) {
         while ($row = DBManager::FetchArray($result)) {
             $chat = new VisitorChat($row);
             if ($chat->LastActive < time() - Server::$Configuration->File["timeout_chats"] && !(!empty($chat->OperatorId) && Server::$Operators[$chat->OperatorId]->IsBot)) {
                 $chat->ExternalClose();
             } else {
                 $this->ExternalChats[$chat->SystemId] = $chat;
             }
         }
     }
     $result = DBManager::Execute(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_CHAT_FILES . "` ORDER BY `created` ASC;");
     if ($result) {
         while ($row = DBManager::FetchArray($result)) {
             $request = new FileUploadRequest($row);
             $rsid = $request->SenderUserId . "~" . $request->SenderBrowserId;
             if (isset($this->ExternalChats[$rsid]) && $this->ExternalChats[$rsid]->ChatId == $row["chat_id"]) {
                 $this->ExternalChats[$rsid]->FileUploadRequest[] = $request;
             }
         }
     }
 }