";
}
}
// Проверяем правельность введеного url сайта
if(!empty($_POST["url"]))
{
if(!preg_match("/^(?:http:\/\/)?[-0-9a-z_\.]+\.(?:com|edu|gov|int|mil|net|org|biz|info|museum|coop|name|aero|mobi|[a-z][a-z])$/i", $url))
{
$action = "";
$error4 = $error4."Ненеправельно введен url сайта.";
}
}
// Проверяем количество символов в сообщении
if(!empty($_POST["msg"]))
{
$lenmsg = strlen($msg);
$templen = 0;
$temp = strtok($msg, " ");
if(strlen($msg)>60)
{
while($templen < $lenmsg)
{
if(strlen($temp)>60)
{
$action = "";
$error2 = $error2."Текст сообщения содержит
слишком много символов без пробелов. ";
break;
}
else
{
$templen = $templen + strlen($temp) + 1;
}
$temp = strtok(" ");
}
}
if(strlen($_POST["msg"])>$settings['msg_len'])
{
$action = "";
$error2 = $error2."Количество знаков в сообщении больше ".$settings['msg_len']." символов!";
}
}
// Проверяем правельность введеного секюрити кода
if(!empty($_POST["securityCode"]) AND $settings['security'] == "yes")
{
if(isset($_POST['securityCode']) && (isset($_SESSION['securityCode']) || isset($_SESSION['securityCode'])))
{
if(strtolower($_POST['securityCode'])!= $_SESSION['securityCode'] || strtolower($_POST['securityCode'])!= $_SESSION['securityCode'])
{
$action = "";
$error5 = $error5."Защитный код введен неверно!";
}
}
}
// Проверяем на заполнение всех полей формы
if(empty($_POST["name"]))
{
$action = "";
$error1 = $error1."Введите свое имя!";
}
if(empty($_POST["msg"]))
{
$action = "";
$error2 = $error2."Введите сообщение!";
}
if(empty($_POST["securityCode"]) AND $settings['security'] == "yes")
{
$action = "";
$error5 = $error5."Введите секюрити код!";
}
if(empty($error1) and empty($error2) and empty($error3) and empty($error4) and empty($error5))
{
// Антимат
$pattern = "/\w{0,5}[хx]([хx\s\!@#\$%\^&*+-\|\/]{0,6})[уy]([уy\s\!@#\$%\^&*+-\|\/]{0,6})[ёiлeеюийя]\w{0,7}|\w{0,6}[пp]([пp\s\!@#\$%\^&*+-\|\/]{0,6})[iие]([iие\s\!@#\$%\^&*+-\|\/]{0,6})[3зс]([3зс\s\!@#\$%\^&*+-\|\/]{0,6})[дd]\w{0,10}|[сcs][уy]([уy\!@#\$%\^&*+-\|\/]{0,6})[4чkк]\w{1,3}|\w{0,4}[bб]([bб\s\!@#\$%\^&*+-\|\/]{0,6})[lл]([lл\s\!@#\$%\^&*+-\|\/]{0,6})[yя]\w{0,10}|\w{0,8}[её][bб][лске@eыиаa][наи@йвл]\w{0,8}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[uу]([uу\s\!@#\$%\^&*+-\|\/]{0,6})[н4ч]\w{0,4}|\w{0,4}[еeё]([еeё\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[нn]([нn\s\!@#\$%\^&*+-\|\/]{0,6})[уy]\w{0,4}|\w{0,4}[еe]([еe\s\!@#\$%\^&*+-\|\/]{0,6})[бb]([бb\s\!@#\$%\^&*+-\|\/]{0,6})[оoаa@]([оoаa@\s\!@#\$%\^&*+-\|\/]{0,6})[тnнt]\w{0,4}|\w{0,10}[ё]([ё\!@#\$%\^&*+-\|\/]{0,6})[б]\w{0,6}|\w{0,4}[pп]([pп\s\!@#\$%\^&*+-\|\/]{0,6})[иeеi]([иeеi\s\!@#\$%\^&*+-\|\/]{0,6})[дd]([дd\s\!@#\$%\^&*+-\|\/]{0,6})[oоаa@еeиi]([oоаa@еeиi\s\!@#\$%\^&*+-\|\/]{0,6})[рr]\w{0,12}/i";
$replacement = "<цензура>";
if($settings['antimat'] == "yes")
{
$msg = preg_replace($pattern, $replacement, $msg);
$city = preg_replace($pattern, $replacement, $city);
$name = preg_replace($pattern, $replacement, $name);
}
// Обрабатываем встроенные тэги
$msg = nl2br($msg);
$msg = str_replace("\n"," ",$msg);
$msg = str_replace("\r"," ",$msg);
$msg = str_replace("[b]","",$msg);
$msg = str_replace("[/b]","",$msg);
$msg = str_replace("[i]","",$msg);
$msg = str_replace("[/i]","",$msg);
$msg = str_replace("[u]","",$msg);
$msg = str_replace("[/u]","",$msg);
$msg = str_replace("[s]","",$msg);
$msg = str_replace("[/s]","",$msg);
$msg = str_replace("[p right]","
",$msg); $msg = str_replace("[p center]","
",$msg); $msg = str_replace("[p left]","
",$msg); $msg = str_replace("[p justify]","
",$msg); $msg = str_replace("[/p]","
",$msg); $msg = str_replace("[font","",$msg); $replace = "/\#\]/i"; $replacement = ">"; $msg = preg_replace($replace, $replacement, $msg); // Заменяем все одинарные кавычки обратными $name = str_replace("'","`",$name); $email = str_replace("'","`",$email); $url = str_replace("'","`",$url); $msg = str_replace("'","`",$msg); $city = str_replace("'","`",$city); // Добавляем запись в базу данных if($settings['admin'] == "yes") $hide = "hide"; else $hide = "show"; // Определяем ip пользователя if($_SERVER['HTTP_X_FORWARDED_FOR']) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } // Осуществляем запрос на добавление новой записи $insert = "INSERT INTO ".DB_MSG." VALUES (0, '$name', '$msg', '$city', '$email', '$url', '$ip', '', NOW(), '$hide')"; if(mysql_query($insert)) { // Если в настройках для send выставлена опция yes, то отправляем уведомление о новой добавленой записи if($settings['send'] == "yes") { $subject = "Добавлено новая запись"; $headers = "From: ".$settings['email']." \n"; $headers .= "Content-type: text/plain; charset=windows-1251 \r\n"; $send_msg = "Добавлена новая запись гостевую книгу\n\n"; $send_msg .= "Автор: $name\n"; $send_msg .= "Сообщение: $msg\n"; @mail($settings['email'], $subject, $send_msg, $headers); } // В случае успеха осуществлям возврат на главную страницу echo "\n"; echo "\n"; if($settings['admin'] == "yes") { echo "