<?php
# определение данных
$post = array(); // массив пост - данных
$form = false; // имя формы
$go = false; // переадресация
# проверка отправки формы, активация по умолчанию
if ($_SERVER['REQUEST_METHOD'] == 'POST') { $post['active'] = 'stopped';
# проверка данных
$post['email'] = (isset($_POST['email']) && $USER->filter($_POST['email'], 'email')) ? $_POST['email'] : 'stopped'; // e-mail
$post['active'] = ($post['email'] != 'stopped' && db_exist($DB, 'users', 'id', array('active' => 'no', 'email' => $post['email']))) ? 'true' : 'stopped'; // возможность активации
$post['token'] = (isset($_POST['token']) && $_POST['token'] == TOKEN) ? 'true' : 'stopped'; // токен
# определение наличия ошибок
if (in_array('stopped', $post)) { $activate = true; // показ формы активации
$value = (isset($_POST['email']) && !empty($_POST['email'])) ? ' value="'. $_POST['email'] .'"': false; // указанный e-mail
# отсутствие ошибок
} else { $token = $FUNC->random(50); // токен
# обработка данных активации
$user = db_output($DB, 'users', array('id','email'), array('email' => $post['email'])); // данные пользователя
db_delete($DB, 'tokens', array('type' => 'active', 'user' => $user['id'])); // чистка токенов
db_create($DB, 'tokens', array('time' => time() + DATA['token'], 'token' => $token, 'type' => 'active', 'user' => $user['id'])); // создание активации
# отправка e-mail с активацией
$message = '<h2>Повторная активация в онлайн - игре "'. SERV['name'] .'"!</h2><p>Для активации аккаунта перейдите по ссылке:
<a href="https://'. SERV['host'] .'/activate/'. $user['id'] .'/token/'. $token .'">активировать</a></p>'; // сообщение
$headers = "From: ". SERV['name'] ." ". SERV['email'] ." \r\n"; // заголовок, от кого письмо
$headers .= "Content-type: text/html; charset=utf-8 \r\n"; // заголовок, кодировка
mail($user['email'], 'Активация', $message, $headers); } } // отправка письма
?>