<!DOCTYPE html>
<html lang="ru">
<head>
<title>Обратная связь</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="stylesheet" type="text/css" href="form.css"/>
</head>

<body>

<h1>Обратная связь</h1>

<?php 

session_start();

require_once 'validator.php';

$validator = new Validator();

$validator->set_error_delimiters('<div class="error">', '</div>');

//Задаем правила валидации
$rules = array(
	array(
		'field' => 'user_name',
		'label' => 'Ваше имя',
		'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Поле %s обязательно для заполнения'
					)
	),
	array(
		'field' => 'user_email',
		'label' => 'Ваш e-mail адрес',
		'rules' => array(
                        'trim' => '',
                        'required' => 'Поле %s обязательно для заполнения',
                        'valid_email' => 'Поле %s должно содержать правильный email-адрес'
					)
	),

    array(
		'field' => 'subject',
		'label' => 'Тема письма',
		'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Поле %s обязательно для заполнения'
					)
	),
    array(
		'field' => 'text',
		'label' => 'Текст сообщения',
		'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'strip_tags' => '', // Удаляем HTML и PHP теги
                        'required' => 'Поле %s обязательно для заполнения'
					)
	),
    array(
		'field' => 'keystring',
		'label' => 'Капча',
		'rules' => array(
                        'trim' => '', //Обрезаем пробелы по бокам
                        'required' => 'Вы не ввели цифры изображенные на картинке',
    					'valid_captcha[keystring]' => 'Вы ввели не правильный цифры с картинки'
					)
	)
);

//Устанавливаем правила валидации
$validator->set_rules($rules);
$message = '';

//Запускаем валидацию POST данных
if($validator->run()){
	
	//Здесь впишите свой e-mail адрес
	//на негу будут приходить уведомления с формы
	$to = 'pochta@yandex.ru';
 
	$from = "=?WINDOWS-1251?b?" . base64_encode($validator->postdata('user_name')) . "?=";
	$subject = "=?WINDOWS-1251?b?" . base64_encode( $validator->postdata('subject') ) . "?=";
	
	$mail_body = "Поступил новый ответ от формы обратной связи (vashsite.ru)\r\n\n";
	
	//Формируем текст сообщения
	foreach($rules as $rule){
		if($rule['field'] == 'keystring') continue;
		$mail_body .= $rule['label'].': '.$validator->postdata($rule['field'])."\r\n";
	}
	
	$header = "MIME-Version: 1.0\n";
	$header .= "Content-Type: text/plain; charset=windows-1251\n";
	$header .= "From: ". $from . " <" . $validator->postdata('user_email'). ">";

	//Отправка сообщения
	if(mail($to, $subject, $mail_body, $header)){
		
		$message = '<div class="noerror">Ваше сообщение успешно отправлено!</div>';
		
		//Очищаем форму обратной связи
		$validator->reset_postdata();
	}
	else{
		
		$message = '<div class="error">Ваше сообщение не отправлено!</div>';
	}
}
else{
	
    //Получаем сообщения об ошибках в виде строки
	$message = $validator->get_string_errors();
	
    //Получаем сообщения об ошибках в виде массива
	$errors = $validator->get_array_errors();

}

?>


   <?=(!empty($message))? '<div class="errors">'.$message.'</div>': ''?>
   <form action="" method="post" class="form">
    <div <?=(!empty($errors['user_name']))? 'class="error_field"': '';?>>
    	<label>Ваше имя:</label>
    	<input type="text" class = "text" name="user_name" value="<?=$validator->postdata('user_name');?>" />
    </div> 
    
    <div <?=(!empty($errors['user_email']))? 'class="error_field"': '';?>>
    	<label>Ваш e-mail:</label>
    	<input type="text" class = "text" name="user_email" value="<?=$validator->postdata('user_email');?>" />
    </div> 
    
    <div <?=(!empty($errors['subject']))? 'class="error_field"': '';?>>
    	<label>Тема письма:</label>
    	<input type="text" class = "text" name="subject" value="<?=$validator->postdata('subject');?>"/>
    </div> 
    
    <div class="area<?=(!empty($errors['text']))? ' error_field': '';?>">
    	<label>Текст сообщения:</label>
    	<textarea cols="40" class = "textarea" rows="5" name="text"><?=$validator->postdata('text');?></textarea>
    </div> 
    
    <div <?=(!empty($errors['keystring']))? 'class="error_field"': '';?>>
    	<label class="captcha">Капча:</label>
		<div class="capth_images"><?php require 'captcha.php';?></div>
    	<label class="captcha">Введите цифры:</label>
    	<input type="text" class = "text" name="keystring" value=""/>
    </div> 

    <div>
    	<label>&nbsp;</label>
    	<input type="submit" class="btn" value="Отправить сообщение" />
    </div>

	
 </form> 

</body>
</html>
