'' and `status` = '1'"; if ($departments == true && $department != '') { $query .= " AND department LIKE '%$department%'"; } $row = $SQL->selectquery($query); if(is_array($row)) { $datetime = $row['datetime']; } else { header('Location: offline.php?SERVER=' . $_REQUEST['SERVER'] . 'LANGUAGE=' . LANGUAGE_TYPE.'&DOMAINID='.$domain_id); exit(); } // Get the applicable hostname to show where the site visitor is located $current_host = $_REQUEST['URL']; for ($i = 0; $i < 3; $i++) { $substr_pos = strpos($current_host, '/'); if ($substr_pos === false) { break; } if ($i < 2) { $current_host = substr($current_host, $substr_pos + 1); } else { $current_host = substr($current_host, 0, $substr_pos); } } if (substr($current_host, 0, 4) == 'www.') { $current_host = substr($current_host, 4); } if ($username == '') { $username = 'guest'; } // If the site visitor has now previous username or has chatted previously then get new username if ($guest_username != '' || $guest_login_id == 0) { $query = "SELECT count(`id`) FROM " . $table_prefix . "sessions WHERE `username` LIKE '$username%' AND (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(`refresh`)) < $datetime"; $row = $SQL->selectquery($query); if(is_array($row)) { if ($row['count(`id`)'] > 0) { $query = "SELECT `username` FROM " . $table_prefix . "sessions WHERE `username` LIKE '$username%' AND UNIX_TIMESTAMP(datetime) > $datetime ORDER BY `id` DESC LIMIT 1"; $row = $SQL->selectquery($query); if (is_array($row)) { $total = substr($row['username'], strlen($username)); $id = (int)$total + 1; $username = $username . $id; } } } } $guest_login_id = 0; // If the site visitor has chatted previously then start new session if ($guest_login_id == 0) { // Add session details $query = "INSERT INTO " . $table_prefix . "sessions (`request`, `username`, `datetime`, `email`, `phone` , `company`, `server`, `department`, `refresh`, `language`, rating, id_domain , id_agent) VALUES ('$request_id', '$username', NOW(), '$email', '$phone', '$company', '$current_host', '$department', NOW(), '".LANGUAGE_TYPE."', -1, $domain_id , $agent_id)"; $login_id = $SQL->insertquery($query); } else { $login_id = $guest_login_id; $username = $guest_username; // Retrieve the current connected server $query = "SELECT `server` FROM " . $table_prefix . "sessions WHERE `id` = '$login_id'"; $row = $SQL->selectquery($query); if (is_array($row)) { $server = $row['server']; // Update session details $query = "UPDATE " . $table_prefix . "sessions SET `request` = '$request_id', `username` = '$username', `datetime` = NOW(), `email` = '$email', `server` = '$current_host', `department` = '$department', `refresh` = NOW(), `active` = '0' WHERE `id` = '$login_id'"; $SQL->miscquery($query); } else { // Add session details $query = "INSERT INTO " . $table_prefix . "sessions (`request`, `username`, `datetime`, `email`, `phone` , `company`, `server`, `department`, `refresh`, `language`, rating, id_domain , id_agent) VALUES ('$request_id', '$username', NOW(), '$email', '$phone', '$company', '$current_host', '$department', NOW(), '".LANGUAGE_TYPE."', -1, $domain_id, $agent_id)"; $login_id = $SQL->insertquery($query); } } // Remove the Initate chat flag and flag as chatting from the requests as the chat has started. $query = "UPDATE " . $table_prefix . "requests SET `initiate` = '-4' WHERE `id` = '$request_id'"; $SQL->miscquery($query); // Retrieve the current connected server if ($server != '') { $query = "SELECT `server` FROM " . $table_prefix . "sessions WHERE `id` = '$login_id'"; $row = $SQL->selectquery($query); if (is_array($row)) { $server = $row['server']; } } $session = array(); $session1 = array(); if (isset($domain_id) && isset($_COOKIE[$cookieName])) { $session1 = unserialize($_COOKIE[$cookieName]); }else { $session1 = unserialize($_COOKIE[$cookieName]); } foreach ($session1 as $key => $value) { $session[$key] = $value; // error_log("frames:session:".$key.":".$value."\n", 3, "error.log"); } unset($session1); $session['REQUEST'] = $request_id; $session['GUEST_LOGIN_ID'] = $login_id; $session['GUEST_USERNAME'] = $username; $session['MESSAGE'] = 0; $session['CHATTING'] = 0; $session['OPERATOR'] = ''; $session['TOTALOPERATORS'] = 0; $session['SECURITY'] = $security; $session['LANGUAGE'] = LANGUAGE_TYPE; $session['CHARSET'] = CHARSET; if (isset($domain_id)){ $session['DOMAINID'] = $domain_id; }else{ $session['DOMAINID'] = $id_domain; } $data = serialize($session); setCookie($cookieName, $data, false, '/', $cookie_domain, $ssl); header('Content-type: text/html; charset=' . CHARSET); include('import/settings_default.php'); $language_file = './i18n/' . LANGUAGE_TYPE . '/lang_guest_' . LANGUAGE_TYPE . '.php'; if (file_exists($language_file)) { include($language_file); } else { include('./i18n/en/lang_guest_en.php'); } /* if(!stripos("-".$campaign_image, "http") == 1){ $campaign_image = "./".$campaign_image; }*/ ?>