> username:".$username."\n", 3, "error.log"); //error_log("FRAMES ------------>> email:".$email."\n", 3, "error.log"); $URL = $_REQUEST['URL']; if ($_REQUEST['COOKIE'] != '') { $cookie_domain = $_REQUEST['COOKIE']; } if ($require_guest_details == true && $disable_login_details == false) { if ($username == '' || $email == '') { if ($department == '') { header('Location: index.php?ERROR=empty'.'&DOMAINID='.$domain_id); exit(); } else { header('Location: index.php?ERROR=empty&DEPARTMENT=' . $department.'&DOMAINID='.$domain_id); exit(); } } else { if (!ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) { if ($department == '') { header('Location: index.php?ERROR=email'.'&DOMAINID='.$domain_id); exit(); } else { header('Location: index.php?ERROR=email&DEPARTMENT=' . $department.'&DOMAINID='.$domain_id); exit(); } } } } if ($department == '') { $department = mysql_real_escape_string($_REQUEST['DEPARTMENT']);} // Query to see if panel/Operators are Online $query = "SELECT UNIX_TIMESTAMP(`datetime`) AS `datetime` FROM " . $table_prefix . "users WHERE (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(`refresh`)) < '$connection_timeout' and device_id ='' and `status` = '1'"; if ($departments == true && $department != '') { $query .= " AND department LIKE '%$department%'"; } $query .= " union " ; $query .= "SELECT UNIX_TIMESTAMP(`datetime`) AS `datetime` FROM " . $table_prefix . "users WHERE (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(`refresh`)) < '$connection_timeout_mobile' and device_id <>'' 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; }*/ ?>