<?php
# определение данных
$post = array(); // массив пост - данных
$form = false; // имя формы
$go = false; // переадресация
# проверка блокировки
$block = (SETUP['gift'] == 'no') ? true : false;
# проверка отправки формы
if ($_SERVER['REQUEST_METHOD'] == 'POST' && SETUP['gift'] == 'yes') { $post['access'] = 'stopped';
# фильтрация данных
$nick = (isset($_POST['nick'])) ? $FUNC->filter($_POST['nick'], 'sql') : false; // ник
$buy = (isset($_POST['buy'])) ? $FUNC->filter($_POST['buy'], 'sql') : false; // подарок
# проверка полей, никнейм и разрешение на отправку
$post['nick'] = ($nick && db_exist($DB, 'users', 'id', array('nick' => $nick))) ? $_POST['nick'] : 'stopped'; if ($post['nick'] != 'stopped') {
$buddy = db_output($DB, 'users', 'id', array('nick' => $nick)); $setup = db_output($DB,'settings', array('contact','gift'), array('id' => $buddy['id'])); // данные собеседника
$ignore = (!db_exist($DB, 'contacts', 'id', array('type' => 'ignore', 'user' => $buddy['id'], 'whom' => USER['id']))) ? true : false; // черный список
if ($setup['contact'] == 'mate') $friend = (db_exist($DB, 'contacts', 'id', array('type' => 'friend', 'user' => $buddy['id'], 'whom' => USER['id']))) // друзья
? true : false; else $friend = true; $post['access'] = (SETUP['gift'] == 'yes' && $setup['gift'] == 'yes' && $ignore && $friend) ? 'true' : 'stopped'; } // возможность отправки
# проверка баланса, установка ограничения
if ($post['access'] == 'true') if (USER['money'] < 100) $post['access'] = 'stopped';
# проверка подарка, разрешение на отправку
if ($post['access'] == 'true') { $post['access'] = 'stopped'; $list = GIFT; foreach ($list as $var) { $divide = explode(';', $var); // проверка выбора
$image = $divide[0]; if ($post['access'] == 'stopped') { if ($buy == $image) $post['access'] = 'true'; } } } // определение
# проверка полей
$post['text'] = (!empty($_POST['text']) && $GAME->message($_POST['text'], 100)) ? $_POST['text'] : 'stopped'; // текст
$post['token'] = (isset($_POST['token']) && $_POST['token'] == TOKEN) ? 'true' : 'stopped'; // токен
# ограничение, вывод ошибки
if ($post['access'] == 'stopped') { $block = true; if (SETUP['gift'] == 'no') $ban = 'Вам закрыт доступ к подаркам.'; elseif ($setup['gift'] == 'no') $ban = 'Игрок
не может получать подарки.'; elseif (!$friend) $ban = 'Игроку могут дарить только друзья.'; else $ban = 'Игрок добавил Вас в черный список.'; } // уведомление
# определение наличия ошибок
if (in_array('stopped', $post)) { $gift = true; // показ комментария
# проверка текста, определение стилей
$class = ($post['text'] == 'stopped') ? 'no': 'ok';
# проверка введенного текста, вывод данных
$value = (isset($_POST['text']) && !empty($_POST['text'])) ? $_POST['text'] : false;
# отсутствие ошибок, отправка подарка
} else { $text = $FUNC->filter($post['text'], 'sql'); $go = '/profile/'. $USER->nick($nick); // фильтрация текста, переадресация
db_update($DB, 'users', array('money' => '100;-'), array ('id' => USER['id'])); db_create($DB, 'gifts', array( // изменение баланса
'image' => $buy, 'text' => $text, 'user' => USER['id'], 'whom' => $buddy['id'], 'time' => time())); } } // запись в базу данных
?>