Размер файла: 4.25Kb
<?php
App::view($config['themes'].'/index');
$act = (isset($_GET['act'])) ? check($_GET['act']) : 'index';
show_title('Письмо Администратору');
switch ($act):
############################################################################################
## Главная страница ##
############################################################################################
case 'index':
echo '<div class="form">';
echo '<form method="post" action="mail?act=send">';
if (! is_user()) {
echo 'Ваше имя:<br /><input name="name" maxlength="20" /><br />';
echo 'Ваш E-mail:<br /><input name="umail" maxlength="50" /><br />';
} else {
if (empty($udata['email'])) {
echo 'Ваш E-mail:<br /><input name="umail" maxlength="50" /><br />';
}
}
echo 'Сообщение:<br />';
echo '<textarea cols="25" rows="5" name="body"></textarea><br />';
echo 'Проверочный код:<br />';
echo '<img src="/captcha" onclick="this.src=\'/captcha?\'+Math.random()" class="img-rounded" alt="" style="cursor: pointer;" alt="" /><br />';
echo '<input name="provkod" size="6" maxlength="6" /><br />';
echo '<input value="Отправить" type="submit" /></form></div><br />';
echo 'Обновите страницу если вы не видите проверочный код!<br /><br />';
break;
############################################################################################
## Отправка сообщения ##
############################################################################################
case 'send':
$body = isset($_POST['body']) ? check($_POST['body']) : '';
$name = isset($_POST['name']) ? check($_POST['name']) : '';
$umail = isset($_POST['umail']) ? check($_POST['umail']) : '';
$provkod = isset($_POST['provkod']) ? check(strtolower($_POST['provkod'])) : '';
if (is_user()) {
$name = $log;
if (!empty($udata['email'])) {
$umail = $udata['email'];
}
}
if ($_SESSION['protect'] == $provkod) {
if (utf_strlen($name) >= 3 && utf_strlen($name) <= 50) {
if (utf_strlen($body) >= 5 && utf_strlen($body) <= 10000) {
if (preg_match('#^([a-z0-9_\-\.])+\@([a-z0-9_\-\.])+(\.([a-z0-9])+)+$#', $umail)) {
if (sendMail($config['emails'],
'Письмо с сайта '.$config['title'],
nl2br(html_entity_decode($body, ENT_QUOTES)).'<br /><br />IP: '.App::getClientIp().'<br />Браузер: '.App::getUserAgent().'<br />Отправлено: '.date_fixed(SITETIME, 'j.m.Y / H:i'),
['from' => [$umail => $name]]
)) {
notice('Ваше письмо успешно отправлено!');
redirect("/");
} else {
show_error('Ошибка! Не удалось отправить письмо администратору!');
}
} else {
show_error('Вы ввели неверный адрес e-mail, необходим формат [email protected]!');
}
} else {
show_error('Слишком длинное или короткое сообшение, необходимо от 5 до 5000 символов!');
}
} else {
show_error('Слишком длинное или короткое имя, необходимо от 3 до 50 символов!');
}
} else {
show_error('Проверочное число не совпало с данными на картинке!');
}
echo '<i class="fa fa-arrow-circle-left"></i> <a href="mail">Вернуться</a><br />';
break;
endswitch;
App::view($config['themes'].'/foot');