Commit 33275c21 authored by Vladislav Bolshakov's avatar Vladislav Bolshakov

barbass: added ability to send data for older browsers

parent f976ec86
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
<div id="e_typos_div"> <div id="e_typos_div">
<p>Выделите текст и нажмите кнопку "Отправить"</p> <p>Выделите текст и нажмите кнопку "Отправить"</p>
<p> <p>
<nobr>Комментарий: <input type="text" id="e_typos_comment" name="e_typos_comment" class="idle" onblur="this.className='idle'" onfocus="this.className='activeField'" size='19' maxlength="50" placeholder="Должна быть буква..."/></nobr> <nobr>Комментарий: <input type="text" id="e_typos_comment" name="e_typos_comment" class="idle" onblur="this.className='idle'" onfocus="this.className='activeField'" size='19' maxlength="50" placeholder="Должна быть буква..."/></nobr>
...@@ -63,9 +64,10 @@ ...@@ -63,9 +64,10 @@
<!--<p id="e_typos_user_text" class="e_typos_user_text"></p>--> <!--<p id="e_typos_user_text" class="e_typos_user_text"></p>-->
<p id="e_typos_error" class="e_typos_error" style="border:1px solid"></p> <p id="e_typos_error" class="e_typos_error" style="border:1px solid"></p>
<input type="button" value="Отправить" class="idle" onblur="this.className='idle'" onmouseup="this.className='idle'" onmousedown="this.className='activeButton'" onclick="ETY.post_data();" /> <input type="button" value="Отправить" class="idle" onblur="this.className='idle'" onmouseup="this.className='idle'" onmousedown="this.className='activeButton'" onclick="ETY.post_data();" />
<input type="button" value="Закрыть" class="idle" onblur="this.className='idle'" onmouseup="this.className='idle'" onmousedown="this.className='activeButton'" onclick="ETY.close();" /> <input type="button" value="Закрыть" class="idle" onblur="this.className='idle'" onmouseup="this.className='idle'" onmousedown="this.className='activeButton'" onclick="ETY.close();" />
</div> </div>
<div style='white-space: pre;'> <div style='white-space: pre;'>
......
...@@ -16,6 +16,7 @@ var ETY = { ...@@ -16,6 +16,7 @@ var ETY = {
time: 0, //время последнего запроса time: 0, //время последнего запроса
server_url: "http://barbass.pubsandbox.eterhost.ru/typos/server.php", server_url: "http://barbass.pubsandbox.eterhost.ru/typos/server.php",
select_text: "", select_text: "",
//Выделенный текст //Выделенный текст
get_select_text: function() { get_select_text: function() {
var text = String(window.getSelection()).trim().substr(0, 50); var text = String(window.getSelection()).trim().substr(0, 50);
...@@ -80,21 +81,30 @@ var ETY = { ...@@ -80,21 +81,30 @@ var ETY = {
} else if (post_text.length > 30) { } else if (post_text.length > 30) {
this.error("red", "Выделенный текст слишком длинный"); this.error("red", "Выделенный текст слишком длинный");
} else { } else {
//ETY.text(post_text); ETY.select_text = post_text;
//Ajax-запрос //Ajax-запрос
this.ajax_query(this.server_url+"?url="+this_url+"&comment="+user_comment+"&error_text="+post_text); this.ajax_query(this.server_url+"?e_typos_url="+this_url+"&e_typos_comment="+user_comment+"&e_typos_error_text="+post_text);
} }
}, },
//Отправка запроса //Отправка запроса
ajax_query: function(url) { ajax_query: function(url) {
this.error("black", "Идет отправка данных..."); this.error("black", "Идет отправка данных...");
var XHR = window.XDomainRequest || window.XMLHttpRequest; var XHR = window.XDomainRequest || window.XMLHttpRequest;
request = new XHR; request = new XHR;
//Если не поддерживаются кроссдоменные запросы //Если не поддерживаются кроссдоменные запросы
if (request.withCredentials == undefined) { if (request.withCredentials == undefined) {
this.error("red", "Ваш браузер не может отправить данные"); var old_url = window.location.href;
newWin = window.open(url, '_blank');
window.parent.focus();
//setTimeout('newWin.close()', 1000);
this.error("green", "Спасибо за ваше внимание");
window.setTimeout('ETY.close()', 2000);
return false; return false;
} }
...@@ -109,8 +119,8 @@ var ETY = { ...@@ -109,8 +119,8 @@ var ETY = {
request.open("POST", url, true); request.open("POST", url, true);
request.onload = function() { request.onload = function() {
var data = request.responseText; var data = request.responseText.split(' ');
switch (data) { switch (data[0]) {
case '10robot': case '10robot':
ETY.error("red", "Есть подозрения что вы робот"); ETY.error("red", "Есть подозрения что вы робот");
break; break;
......
...@@ -11,44 +11,39 @@ try { ...@@ -11,44 +11,39 @@ try {
$DBH = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); $DBH = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
} catch (PDOException $e) { } catch (PDOException $e) {
$ajax_mess = "10servererror"; $ajax_mess = "10servererror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
//Проверка данных //Проверка данных
if (check_header() === 0 || get_ip() === 0) { if (check_header() === 0 || get_ip() === 0) {
$ajax_mess = "10robot"; $ajax_mess = "10robot";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
if (!isset($_REQUEST['url']) || !isset($_REQUEST['error_text'])) { if (!isset($_REQUEST['e_typos_url']) || !isset($_REQUEST['e_typos_error_text'])) {
$ajax_mess = "10dataerror"; $ajax_mess = "10dataerror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
if (!isset($_REQUEST['comment'])) { if (!isset($_REQUEST['e_typos_comment'])) {
$comment = ''; $comment = '';
} else { } else {
$comment = trim(htmlspecialchars(substr($_REQUEST['comment'], 0, 50))); $comment = trim(htmlspecialchars(substr($_REQUEST['e_typos_comment'], 0, 50)));
} }
$url = trim(htmlspecialchars(substr($_REQUEST['url'], 0, 300))); $url = trim(htmlspecialchars(substr($_REQUEST['e_typos_url'], 0, 300)));
$error_text = trim(htmlspecialchars(substr($_REQUEST['error_text'], 0, 30))); $error_text = trim(htmlspecialchars(substr($_REQUEST['e_typos_error_text'], 0, 30)));
if ($url == '' || $error_text == '' || strlen($error_text) < 5) { if ($url == '' || $error_text == '' || strlen($error_text) < 5) {
$ajax_mess = "10dataerror"; $ajax_mess = "10dataerror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
$mas_url = parse_url($url); $mas_url = parse_url($url);
if (!isset($mas_url['host'])) { if (!isset($mas_url['host'])) {
$ajax_mess = "10dataerror"; $ajax_mess = "10dataerror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
...@@ -81,18 +76,17 @@ try { ...@@ -81,18 +76,17 @@ try {
} }
} catch (PDOException $e) { } catch (PDOException $e) {
$ajax_mess = "10servererror"; $ajax_mess = "10servererror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
if ($email_users !== 0) { if ($email_users !== 0) {
try { try {
//FIXED !!!удалить из таблицы поле email
$data = array('NULL', $email_users[0]['site'], $url, $error_text,$comment, 0); $data = array('NULL', $email_users[0]['site'], $url, $error_text,$comment, 0);
$STH = $DBH->prepare("INSERT INTO messages (id, id_site, link, error_text, comment, datetime, status) VALUES (?, ?, ?, ?, ?, DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'), ?)"); $STH = $DBH->prepare("INSERT INTO messages (id, id_site, link, error_text, comment, datetime, status) VALUES (?, ?, ?, ?, ?, DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'), ?)");
$STH->execute($data); $STH->execute($data);
} catch (PDOException $e) { } catch (PDOException $e) {
$ajax_mess = "10inserterror"; $ajax_mess = "10inserterror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
if ($comment == '') { if ($comment == '') {
...@@ -114,17 +108,14 @@ if ($email_users !== 0) { ...@@ -114,17 +108,14 @@ if ($email_users !== 0) {
$result = sendmail($subject, $message_email, $to, $from_email, $from_name, 'html'); $result = sendmail($subject, $message_email, $to, $from_email, $from_name, 'html');
if ($result == 0) { if ($result == 0) {
$ajax_mess = "10emailerror"; $ajax_mess = "10emailerror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} else { } else {
$ajax_mess = "10win"; $ajax_mess = "10win";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
} else { } else {
$ajax_mess = "10siteerror"; $ajax_mess = "10siteerror";
echo ($ajax_mess); print_text($ajax_mess);
exit;
} }
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
...@@ -188,3 +179,8 @@ function get_ip() { ...@@ -188,3 +179,8 @@ function get_ip() {
return $ip; return $ip;
} }
function print_text($text) {
echo $text;
echo " <script type='text/javascript'>window.close();</script>";
exit;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment