<?php
# Скрипт отправки сообщений об ошибке http://mistakes.ru/script/mistakes_dev
# Версия 4.1
# 27.04.2015
########################################
## Мод Domino ##
## https://laits.ru ##
########################################
if (!isset($_SESSION)) { session_start(); }
$mail = "[email protected]"; //Ваш E-mail адрес
preg_match('#<email>(.+?)<\/email>#is',$mail,$emailadmina);
//Браузер b его версия
function user_browser($agent)
{
preg_match("/(Trident|MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon|Iron|QupZilla|NokiaBrowser|Android)(?:\/| )([0-9.]+)/", $agent, $browser_info);
list(,$browser,$version) = $browser_info;
if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera))
{
return 'Opera '.$opera[1];
}
if (preg_match("/(OPR)\/([0-9.]+)/", $agent, $opera))
{
return 'Opera '.$opera[2];
}
if (preg_match("/(Edge)\/([0-9.]+)/", $agent, $edge))
{
return 'Edge '.$edge[2];
}
if ($browser == 'MSIE')
{
preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie);
if ($ie)
{
return $ie[1].' based on IE '.$version;
}
else
{
return 'IE '.$version;
}
}
if ($browser == 'Firefox')
{
preg_match("/(Flock|Navigator|Epiphany|Waterfox|PaleMoon|SeaMonkey)\/([0-9.]+)/", $agent, $ff);
if ($ff)
{
return $ff[1].' '.$ff[2];
}
}
if ($browser == 'Opera' && $version == '9.80')
{
return 'Opera '.substr($agent,-5);
}
if ($browser == 'Version')
{
return 'Safari '.$version;
}
if ($browser == 'Trident')
{
if (preg_match("/(rv:)(?:\/|)([0-9.]+)/", $agent, $ie))
{
return 'Internet Explorer '.$ie[2];
}
else
{
return 'Internet Explorer ';
}
}
if (!$browser && strpos($agent, 'Gecko'))
{
return 'Браузер основан на Gecko';
}
elseif (!$browser)
{
if (!$agent)
{
return '<!--noindex--><a href="https://adguard.com" target="_blank" rel="nofollow">Adguard</a> :)<!--/noindex-->';
}
else
{
return $agent;
}
}
else
{
return $browser.' '.$version;
}
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Отправить ошибку</title>
<style>
body {
margin: 23px 28px 0 28px;
font-size:14px;
font-family:Helvetica, Sans-serif, Arial;
line-height:2em;
}
form {margin: 0;}
.text {
font-weight: bold;
font-size:12px;
color:#777;
}
.copyright {
font-size:11px;
color:#777;
}
.mclose a{
font:bold 16px Verdana;
color:#7f7f7f;
position:absolute;
right:12px;
top:9px;
display:block;
text-decoration:none;
}
.mclose a:hover{
color: #000;
}
.m{
border: 1px solid silver;
padding: 3px;
width: 294px;
border-radius:4px;
font-size: 13px;
background-color: #fff;
}
.m strong{
color:red;
}
.center{
text-align: center;
}
</style>
<script>
var p=top;
function readtxt()
{
if(p!=null)document.forms.mistake.url.value=p.loc
if(p!=null)document.forms.mistake.mis.value=p.mis
}
function hide()
{
var win=p.document.getElementById('mistake');
win.parentNode.removeChild(win);
}
</script>
<?php
############
if($_POST['submit'])
{
?>
<body onLoad="setInterval('SurfTimer()',1000);">
<?php
$mistaces_url = $_POST['url'];
if (empty($mistaces_url) || $mistaces_url === undefined)
{
// если поле пустое, снова просим ввести адрес страницы
exit('<div class="mclose">
<a href="javascript:void(0)" onclick="hide()" title="Закрыть">×</a>
</div>
<div class="center"><br>
<br>
<br>
<br>
<b>Не введён адрес страницы с ошибкой!</b><br>
<br>
<br>
<input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
</div>
</body>
</html>');
}
$mistaces = $_POST['mis'];
if ((empty($mistaces) || $mistaces === 'Пожалуйста, опишите ошибку в комментарии.' || $mistaces === undefined) && empty($_POST['comment']))
{
// если поле пустое, снова просим выделить текст ошибки
exit('<div class="mclose">
<a href="javascript:void(0)" onclick="hide()" title="Закрыть">×</a>
</div>
<div class="center"><br>
<br>
<br>
<br>
<b>Вы не выделили текст с ошибкой и не описали ошибку!</b><br>
<br>
<br>
<input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
</div>
</body>
</html>');
}
$Email = $_POST['Email'];
if (!empty($Email) && !preg_match("#^[-a-zA-Z0-9_.]*@[-a-zA-Z0-9_.]*\.[a-zA-Z0-9]{2,4}$#", $Email))
{
// если e-mail не верен, снова просим ввести e-mail
exit('<div class="mclose">
<a href="javascript:void(0)" onclick="hide()" title="Закрыть">×</a>
</div>
<div class="center"><br>
<br>
<br>
<br>
<b>Ошибка не правильнай e_mail!</b><br>
<br>
<br>
<input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
</div>
</body>
</html>');
}
// anti flood protection
$time_rand = mt_rand(17,45);
if($_SESSION['last_session_request'] > time() - $time_rand) //Время антифлуда в секундах
{
sleep(mt_rand(3,17)); // Чтоб задолбать спамера, останавливает загрузку страницы
echo '<div class="mclose">
<a href="javascript:void(0)" onclick="hide()" title="Закрыть">×</a></div>
<div class="center">
<br>
<br>
<br>
<br>
<b>';
?>
<script>
var timesurf = <?php echo $time_rand;?>;
function SurfTimer()
{
timesurf--;
if(timesurf <= 0)
{
document.getElementById('siteview').innerHTML = 'Флуд закончен <a href="/Userfiles/mistakes/index.php" style="color: #777">отправить ошибку?</a>';
}
else
{
document.getElementById('siteview').innerHTML = 'Флуд!!! Вы слишком часто пишите сообщения.<br> Разрешено писать через: ' + timesurf + ' секунд.';
}
}
</script>
<div id="siteview"></div>
<?php
exit('</b>
<br>
<br>
<br>
<input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close">
</div>
</body>
</html>');
}
$_SESSION['last_session_request'] = time();
///
$from = "Admin@".htmlentities($_SERVER['SERVER_NAME'], ENT_QUOTES,'UTF-8')."";
$title = 'Сообщение об ошибке на сайте '.htmlentities($_SERVER["HTTP_HOST"], ENT_QUOTES,'UTF-8').'';
$title = '=?utf-8?b?'. base64_encode($title) .'?=';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8" . "\r\n";
$headers .= "From: ". $from ." <". $from ."> \r\n";
$headers .= "Date: ". date('D, d M Y h:i:s O') ."\r\n";
///
$ip = htmlentities($_SERVER['REMOTE_ADDR'], ENT_QUOTES,'UTF-8');
$agent = user_browser(htmlentities($_SERVER['HTTP_USER_AGENT'], ENT_QUOTES,'UTF-8'));
$date = date('d-m-Y');
$time = date('H:i:s', time());
$url = (trim($_POST['url']));
$mis = strip_tags(substr(trim($_POST['mis']), 0, 100000), '<b>');
$comment = substr(htmlentities(trim($_POST['comment']), ENT_QUOTES | ENT_HTML401 ,'UTF-8'), 0, 100000);
$Email = substr(htmlentities(trim($_POST['Email']), ENT_QUOTES,'UTF-8'), 0, 30);
$message = "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
<title>Сообшение об ошибке на сайте ".htmlentities($_SERVER['SERVER_NAME'])."</title>
</head>
<body bgcolor=\"#f7e0d0\" text=\"#000000\" link=\"#FF0000\" vlink=\"#505050\" style=\"border: 4px double blue; padding: 10px;\">
<h3 align=\"center\" style=\"color:red\">Сообшение об ошибке на сайте <font color=\"#008000\">".htmlentities($_SERVER['SERVER_NAME'])."</font> .</h3>
Адрес страницы: <a href=\"".$url."\">".$url."</a><br><br>
".($mis === 'Пожалуйста, опишите ошибку в комментарии.'? '' : "Ошибка: <p style=\"border: 4px double blue; padding: 10px; background-color:#000000; color:#00ff00;\">".$mis."</p>")."
".(empty($comment)? '' : "Комментарий: $comment")."
<hr>
Информация об отправителе письма:
<ul>
<li>Ip: ".$ip."
</li>
<li>
Браузер: ".$agent."
</li>
<li>
Отправлено: ".$date."
</li>
<li>
Время: ".$time."
</li>
".(empty($Email)? '': "<li>E-mail для связи: $Email</li>")."
</ul>
".$_POST["mess"]."
".($mis === 'Пожалуйста, опишите ошибку в комментарии.'? '' : "<font color=\"red\">*</font> Красным выделен текст с ошибкой.")."
</body>
</html>";
mail($emailadmina[1], $title, $message, $headers);
exit('<div class="mclose"><a href="javascript:void(0)" onclick="hide()" title="Закрыть">×</a></div><br><br><br><center>Спасибо!<br>Ваше сообщение отправлено.<br><br><br>
<input onclick="hide()" type="button" value="Закрыть окно" id="close" name="close"><br><br><br>
<a class="copyright" href="http://mistakes.ru/script/mistakes_dev" target="_blank" title="© Ошибки.ru">© Ошибки.ru</a><br>
<a class="copyright" href="https://laits.ru" target="_blank" title="Мой сайт">™ Mod Domino</a></center>');
session_write_close(); // закрываем сессию
}
?>
</head>
<body onload=readtxt()>
<div class="mclose">
<a href="javascript:void(0)" onclick="hide()" title="Закрыть">×</a></div>
<span class="text">
Адрес страницы :
</span>
<br>
<form name="mistake" method="post">
<input class="m" type="text" name="url" size="35" readonly>
<span class="text">
Ошибка :
</span><br>
<div class="m" style="line-height:normal;height: 75px;width: 294px;">
<script type="text/JavaScript">
document.write(p.mis);
</script>
</div>
<input type="hidden" name="mis">
<span class="text">
Комментарий :
</span><br>
<textarea class="m" rows="5" name="comment" cols="30"></textarea><br>
<span class="text">
E-mail для связи :
</span><br>
<input type="email" class="m" name="Email" size="35">
<div style="margin-top: 7px">
<input type="submit" value="Отправить" name="submit">
<input onclick="hide()" type="button" value="Отмена" id="close" name="close">
</div>
</form>
</body></html>