<?php

# заголовок
define('TITLE', 'Профиль');

# определение данных
$params = PARAMS; $editor = false; // получение параметров
$refresh = $FUNC->random(8, true); // случайное число
$my = true; $nickname = USER['nick'];  // мой профиль

####################
####################

# редактирование профиля, определение данных
if (isset($params['param']) && $params['param'] == 'edit' && USER['status'] != 'guest') {
$value = array(); $editor = true; $one = (USER['vk'] != 0 && SETUP['time'] < time()) // данные по умолчанию
? ' class="line"' : ''; $two = (USER['vk'] == 0 && SETUP['time'] > time()) ? '' : ' class="line"'; // заголовки
	
# настройки данных, текущие данные
$value['avatar_no'] = (SETUP['avatar'] == 'no') ? ' selected ' : ' '; // аватар, скрыть
$value['avatar_yes'] = (SETUP['avatar'] == 'yes') ? ' selected ' : ' '; // аватар, показать
$value['name_no'] = (SETUP['name'] == 'no') ? ' selected ' : ' '; // имя, скрыть
$value['name_yes'] = (SETUP['name'] == 'yes') ? ' selected ' : ' '; // имя, показать
$value['bdate_no'] = (SETUP['bdate'] == 'no') ? ' selected ' : ' '; // возраст, скрыть
$value['bdate_yes'] = (SETUP['bdate'] == 'yes') ? ' selected ' : ' '; // возраст, показать
$value['money_no'] = (SETUP['money'] == 'no') ? ' selected ' : ' '; // монеты, скрыть
$value['money_yes'] = (SETUP['money'] == 'yes') ? ' selected ' : ' '; // монеты, показать
$value['visit_no'] = (SETUP['visit'] == 'no') ? ' selected ' : ' '; // посещение, скрыть
$value['visit_yes'] = (SETUP['visit'] == 'yes') ? ' selected ' : ' '; // посещение, показать
$value['contact_all'] = (SETUP['contact'] == 'all') ? ' selected ' : ' '; // контакты, всем
$value['contact_mate'] = (SETUP['contact'] == 'mate') ? ' selected ' : ' '; } // контакты, друзьям

# данные верхней ссылки
$top=array(); $top['icon'] = ($editor) ? 'back' : 'refresh'; // иконка
$top['link'] = ($editor) ? 'Назад в профиль' : 'Обновить'; // текст

####################

# изменение контактов, добавление в списки
if (isset($params['param']) && isset($params['add']) && isset($params['token']) && 
$params['token'] == TOKEN && USER['nick'] != $params['param']) { 

# обработка данных
$type = ($params['add'] == 'friend' || $params['add'] == 'ignore') ? // тип заявки
$params['add'] : false; $nick = $FUNC->filter($params['param'], 'sql'); // фильтрация
$nickname = $USER->nick($nick, true); // преобразование ника

# проверка на возможность ответа, обработка данных
if (db_exist($DB, 'users', 'id', array('nick' => $nickname)) && $type) { $whom = db_output($DB, 'users', 'id', array( // проверка ника
'nick' => $nickname)); if (!db_exist($DB, 'contacts', 'id', array('user' => USER['id'], 'whom' => $whom['id']))) // проверка контакта
db_create($DB, 'contacts', array('type' => $type, 'user' => USER['id'], 'whom' => $whom['id'])); } } // запись контакта

####################

# изменение контактов, удаление из списков
if (isset($params['param']) && isset($params['act']) && $params['act'] == 'delete' && 
isset($params['token']) && $params['token'] == TOKEN && USER['nick'] != $params['param']) { 

# обработка данных, ник
$nick = $FUNC->filter($params['param'], 'sql'); // фильтрация
$nickname = $USER->nick($nick, true); // преобразование

# проверка на возможность ответа, обработка данных
if (db_exist($DB, 'users', 'id', array('nick' => $nickname))) { $whom = db_output($DB, 'users', 'id', array( // проверка ника
'nick' => $nickname)); if (db_exist($DB, 'contacts', 'id', array('user' => USER['id'], 'whom' => $whom['id']))) // проверка контакта
db_delete($DB, 'contacts', array('user' => USER['id'], 'whom' => $whom['id'])); } } // удаление контакта

####################

# нарушение, изменение ника
if (isset($params['param']) && $params['param'] == 'nick' && isset($params['id']) && 
isset($params['token']) && $params['token'] == TOKEN && USER['status'] == 'admin') {

# идентификатор сообщения
$id = $FUNC->filter($params['id'], 'int');

# проверка на возможность ответа, обработка данных
if (db_exist($DB, 'users', 'id', array('id' => $id, 'nick;!=' => 'Гость'))) { $bad = true;
db_update($DB, 'users', array('nick' => 'Гость'), array ('id' => $id)); } } // смена ника

####################
####################

# вывод профиля игрока
if (isset($params['param']) && !empty($params['param']) && $params['param'] != USER['nick'] && $params['param'] != 'refresh' && $params['param'] != 'Гость') { // проверка ника
$nick = $USER->nick($params['param'], true); if (db_exist($DB, 'users', 'id', array('nick' => $nick))) { $my = false; $nickname = $nick; } // существование
else $lack = true; } $select = 'nick'; $var = $nickname; if ($my && USER['nick'] == 'Гость') { $select = 'id'; $var = USER['id']; } // параметры выборки
$user = db_output($DB, 'users', array('id', 'active', 'avatar', 'birthday', 'email', 'money', 'name', 'nick', 'reg', 'sex', 'status', 'visit', 'vk'), array($select => $var)); // вывод данных
if (db_exist($DB, 'auths', 'id', array('user' => USER['id']))) { $auth = db_output($DB, 'auths', array('browser', 'device', 'ip', 'os'), array('user' => $user['id'])); 
$icon = ($auth['device'] == 'comp') ? 'computer' : 'mobile'; } $stat = db_output($DB, 'statistic', '*', array('id' => $user['id'])); // вывод данных авторизации
$setup = db_output($DB, 'settings', '*', array('id' => $user['id'])); if ($nickname == USER['nick']) $my = true; // статистика, настройки

# определение данных
$redirect = (!$my) ? '/'. $params['param'] : ''; $secret = (USER['status'] == 'admin' && $user['id'] != USER['id']) // ссылка, доступ
? true : false; $used = (USER['status'] != 'guest') ? true : false; $commun = (!$my && $used) ? true : false; // проверка статуса

# общая информация
$avatar = ($user['avatar'] != 'none' && $USER->avatar($user['avatar'])) ? $user['avatar'] : false; $name = ($user['name'] != 'none') ? $user['name'] : false; // аватар, имя
$age = ($user['birthday'] != 'none') ? $GAME->word($USER->bdate($user['birthday']), 'год', 'года', 'лет') : false; $sex = ($user['sex'] == 'none') ? 'Не указан' : // возраст
(($user['sex'] == 'male') ? 'Мужской' : 'Женский'); $gender = ($user['sex'] == 'none') ? 'anonym' : $user['sex']; $reg = $USER->when($user['reg']); // пол (гендер)
if ($user['visit'] > time() - DATA['online']) { $online = 'online'; $visit = 'Сейчас в игре'; } else { $online = 'offline'; $visit = $USER->when($user['visit']); } // регистрация, онлайн
$email = (empty($user['email'])) ? 'Не указан' : $user['email']; $money = ($my || (!$my && SETUP['money'] == 'yes' && $setup['money'] == 'yes') || $secret) ? true : false; // e-mail
$visite = ($my || (!$my && SETUP['visit'] == 'yes' && $setup['visit'] == 'yes') || $secret) ? true : false; $vk = ($secret && $user['vk'] != 0) ? true : false; // монеты, визит, вконтакте
$act = ($user['active'] == 'yes') ? 'tick' : 'cross'; $active = ($user['active'] == 'yes') ? 'имеется' : 'отсутствует'; $contact = (!db_exist($DB, 'contacts', 'id', array( // активность
'user' => USER['id'], 'whom' => $user['id'])) && USER['id'] != $user['id']) ? true : false; $frien = (!$contact && db_exist($DB, 'contacts', 'id', array('type' => 'friend', // друзья
'user' => USER['id'], 'whom' => $user['id']))) ? true : false; $enemy = ($frien) ? 'Удалить из друзей' : 'Убрать из ЧС'; $ignore = (!db_exist($DB, 'contacts', 'id', array( // игнор
'type' => 'ignore', 'user' => $user['id'], 'whom' => USER['id']))) ? true : false; if ($setup['contact'] == 'mate') $friend = (db_exist($DB, 'contacts', 'id', array('type' => 'friend', // контакты
'user' => $user['id'], 'whom' => USER['id']))) ? true : false; else $friend = true; $mail = ($commun && SETUP['mail'] == 'yes' && $setup['mail'] == 'yes' && $ignore && $friend) // черный 
? true : false; $gift = ($commun && SETUP['gift'] == 'yes' && $setup['gift'] == 'yes' && $ignore && $friend && USER['money'] >= 100) ? true : false; // почта, подарки

?>