Файл: www/feedback.php
Строк: 143
<?
/*-----------------------------------------------------------
Product: BBlog 2.0
License: GNU General Public License (http://www.gnu.org/licenses/gpl.html)
Copyright: (c) 2007 Batia.info
Version: 2.0 RC1
-------------------------------------------------------------*/
define('INDEX', true);
// Подключаем необходимые файлы настроек.
include('config.php');
// Подключаем необходимые функции.
include('include/function.php');
include('admin/function/function.php');
$auth = auth_user(); // Проверяем авторизирован ли юзер как админ
/*
Список переменных используемых в КАЖДОЙ странице.
$content // Содержимое страницы.
$title_page // Заголовок страницы.
$page_description // Описание странички.
$page_keywords // Ключевые слова странички.
*/
$content ='';
$page_title ='Отправка сообщения администратору.';
$page_description ='Страница для связи с вебмастером';
$page_keywords ='Написать веб мастеру, отправить сообщение веб мастеру, связь с администратором.';
########### ЕСЛИ ФОРМА ОТПРАВЛЕНА _ ОБРАБАТЫВАЕМ ########################
$result = 'Отправка сообщения';
if(isset($_POST['submit'])) {
// Создаем короткие имена переменных
$username = strip_tags(trim($_POST['username']));
if(strlen($username) < 3) { $error=true; $result='Имя слишком короткое! Сообщение не отправлено!'; }
if(strlen($username) > 100) { $error=true; $result='Имя слишком длинное! Сообщение не отправлено!'; }
$email = strip_tags(trim($_POST['mailsender']));
if(strlen($email) < 7) { $error=true; $result='Email не может быть короче 7 символов! Сообщение не отправлено!'; }
if(!strstr($email,"@")) { $error=true; $result='Email не содержит @! Сообщение не отправлено!'; }
if(strlen($email) > 100) { $error=true; $result='Email не может быть длиннее 100 символов! Сообщение не отправлено!'; }
$code = strip_tags(trim($_POST['code']));
$text = strip_tags($_POST['mailtext']);
if(strlen($text) > 100000) { $error=true; $result='Сообщение слишком длинное!'; }
$hash_code = $_POST['hashcode'];
if($hash_code !== sha1($code) ) { $error=true; $result='Код подтверждения не верный! Сообщение не отправлено!'; }
if(isset($_SESSION['send'])) { $error=true; $result='Повторная отправка запрещена!';}
// Отправляем сообщение на Email
if(!isset($error) ) {
// Код верный, отправляем сообщение
$headers = "Content-type: text/html; charset=utf-8 rn";
$headers .= "From: $email rn";
$subject='[BBlog] Сообщение от '.$username;
$msg=$text.' <BR>
_________________________________________ <BR><i>
Сообщение отправлено с сайта <a href="http://'.$cfg_site_url.'" target="new">http://'.$cfg_site_url.'</a> </i>
';
if(mail($cfg_email, $subject, $msg, $headers)) {
$result = 'Сообщение отправлено!';
$_SESSION['send']='ok';
} else {
$result = 'Не удалось отправить сообщение! Свяжитесь с администратором (<a href="mailto: '.$cfg_email.'">'.$cfg_email.'</a>';
}
}
}
if(isset($_GET['result'])=="ok_valid_code") {
$result = "Сообщение отправлено!";
}
################################################################################
####################-----------ГЕНЕРИРУЕМ ИЗОБРАЖЕНИЕ ---------------###########
################################################################################
$text_y="37"; // Координаты текста по оси у.
$text_x="10"; // Координаты текста по оси х.
$text_angle="0"; // Угол наклона текста
$font_size="30"; // Размер шрифта
$font_file="font/entangle.ttf"; // Файл шрифта.
srand((double) microtime() * 1000000);
$a= rand(0,9);
$a.= rand(0,9);
$a.= rand(0,9);
srand((double) microtime() * 876);
$a.= rand(0,9);
$a.= rand(0,9);
// Сгенерируем хэш-код, с помощью функции шифрования и отправим его в форме в скрытом поле
$hash_code = sha1($a);
$width="130";
$height="50";
$im = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($im, 255, 255, 255);
$blue = imagecolorallocate($im, 150, 150, 150);
imagefill($im, 0, 0, $white);
imagettftext($im, $font_size, $text_angle, $text_x, $text_y, $blue, $font_file, $a);
imagepng($im,"images/code.png");
##############################################################################
#########3 Конец генерации изображения ##############
##############################################################################
$content ='
<script language="javascript" type="text/javascript">
function checkmailform()
{
if ( (document.forms.mailer.mailsender.value == null) || (document.forms.mailer.mailsender.value.length < 7) )
{
alert("Заполните поле: E-mail отправителя");
document.forms.mailer.mailsender.focus();
return false;
}
if ( (document.forms.mailer.username.value == null) || (document.forms.mailer.username.value.length < 3) )
{
alert("Заполните поле: Имя отправителя");
document.forms.mailer.username.focus();
return false;
}
if ( (document.forms.mailer.code.value == null) || (document.forms.mailer.code.value.length <4) )
{
alert("Заполните поле: Код подтверждения");
document.forms.mailer.code.focus();
return false;
}
if (! (/^w+[-_.]*w+@w+-?w+.[a-z]{2,4}$/.test(document.forms.mailer.mailsender.value)) )
{
alert("Введите правильный e-mail адрес");
document.forms.mailer.mailsender.focus();
return false;
}
if ( (document.forms.mailer.mailtext.value == null) || (document.forms.mailer.mailtext.value.length < 10) )
{
alert("Заполните поле: Текст письма");
document.forms.mailer.mailtext.focus();
return false;
}
if ( (document.forms.mailer.mailtext.value == null) || (document.forms.mailer.mailtext.value.length > 100000) )
{
alert("Текст письма слишком длинный! Сообщение не отправлено!");
document.forms.mailer.mailtext.focus();
return false;
}
return true;
}
</script>
';
$content .= '<h1 class="title">'.$result.'</h1>
<p>Используйте эту форму для связи с администратором ресурса.</p>
<form method="POST" name="mailer" id="mailer" onsubmit="return checkmailform();">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td>
<table>
<tr>
<td> Ваше имя </td>
<td><input type="text" name="username" id="username"></td>
</tr>
<tr>
<td> Ваш Email </td>
<td><input type="text" name="mailsender" id="mailsender"></td>
</tr>
</table>
</td>
<td >
<img src="/images/code.png?hash='.$hash_code.'">
</td>
<td >
<small> Введите код:</small><br>
<input type="text" name="code" id="code" MAXLENGTH ="5" size="3">
</td>
</tr>
<tr>
<td colspan="3">
<small>
Использование HTML запрещено!<br>
Максимальная длинна сообщения 100 000 символов!<br>
</small>
<textarea rows="10" cols="50" name="mailtext" id="mailtext"></textarea>
</td></tr>
<tr>
<td colspan="3" align="center">
<input type="submit" value="Отправить" name="submit">
<input type="reset" value="Очистить" >';
$content .= '<input type="hidden" value="'.$hash_code.'" name="hashcode">
</form>
</td></tr>
</table>
';
// Формируем страничку.
include('template/design.php');
?>