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 @@
<div id="e_typos_div">
<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>
......@@ -63,9 +64,10 @@
<!--<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>
<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();" />
</div>
<div style='white-space: pre;'>
......
......@@ -16,6 +16,7 @@ var ETY = {
time: 0, //время последнего запроса
server_url: "http://barbass.pubsandbox.eterhost.ru/typos/server.php",
select_text: "",
//Выделенный текст
get_select_text: function() {
var text = String(window.getSelection()).trim().substr(0, 50);
......@@ -80,21 +81,30 @@ var ETY = {
} else if (post_text.length > 30) {
this.error("red", "Выделенный текст слишком длинный");
} else {
//ETY.text(post_text);
ETY.select_text = post_text;
//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) {
this.error("black", "Идет отправка данных...");
var XHR = window.XDomainRequest || window.XMLHttpRequest;
request = new XHR;
//Если не поддерживаются кроссдоменные запросы
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;
}
......@@ -109,8 +119,8 @@ var ETY = {
request.open("POST", url, true);
request.onload = function() {
var data = request.responseText;
switch (data) {
var data = request.responseText.split(' ');
switch (data[0]) {
case '10robot':
ETY.error("red", "Есть подозрения что вы робот");
break;
......
......@@ -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\''));
} catch (PDOException $e) {
$ajax_mess = "10servererror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
////////////////////////////////////////////////////////////////////////
//Проверка данных
if (check_header() === 0 || get_ip() === 0) {
$ajax_mess = "10robot";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
if (!isset($_REQUEST['url']) || !isset($_REQUEST['error_text'])) {
if (!isset($_REQUEST['e_typos_url']) || !isset($_REQUEST['e_typos_error_text'])) {
$ajax_mess = "10dataerror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
if (!isset($_REQUEST['comment'])) {
if (!isset($_REQUEST['e_typos_comment'])) {
$comment = '';
} 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)));
$error_text = trim(htmlspecialchars(substr($_REQUEST['error_text'], 0, 30)));
$url = trim(htmlspecialchars(substr($_REQUEST['e_typos_url'], 0, 300)));
$error_text = trim(htmlspecialchars(substr($_REQUEST['e_typos_error_text'], 0, 30)));
if ($url == '' || $error_text == '' || strlen($error_text) < 5) {
$ajax_mess = "10dataerror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
$mas_url = parse_url($url);
if (!isset($mas_url['host'])) {
$ajax_mess = "10dataerror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
////////////////////////////////////////////////////////////////////////
......@@ -81,18 +76,17 @@ try {
}
} catch (PDOException $e) {
$ajax_mess = "10servererror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
if ($email_users !== 0) {
try {
//FIXED !!!удалить из таблицы поле email
$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->execute($data);
} catch (PDOException $e) {
$ajax_mess = "10inserterror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
if ($comment == '') {
......@@ -114,17 +108,14 @@ if ($email_users !== 0) {
$result = sendmail($subject, $message_email, $to, $from_email, $from_name, 'html');
if ($result == 0) {
$ajax_mess = "10emailerror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
} else {
$ajax_mess = "10win";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
} else {
$ajax_mess = "10siteerror";
echo ($ajax_mess);
exit;
print_text($ajax_mess);
}
////////////////////////////////////////////////////////////////////////
......@@ -188,3 +179,8 @@ function get_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