<?php
include_once ('core/base.php');
falseauth();

$id = abs(intval($_GET['id']));

// Проверяем ID: если ID невалиден или совпадает с резервными ID (12, 3), используем ID текущего пользователя
if (!$id or $id == 12 or $id == 3) $id = $u['id'];

$a = $base -> query("SELECT * FROM `users` WHERE `id` = '".$id."' LIMIT 1") -> fetch_assoc();
if($a == 0) {
	header('Location: /');
	exit;
}

$header = $a['login'];
include_once ('core/head.php');

echo '<div class="b"><center><div style="position: relative; width: 350px;">';

switch($_GET['action']){

default:

//Скин
$skin='/images/skins/'.$a['skin'].''.$a['direction'].'.gif';
$avatar='/images/skins/'.$a['skin'].'_big.png';

$_GET['up'] = fl($_GET['up']);
$_GET['party'] = fl($_GET['party']);
$_GET['clan'] = fl($_GET['clan']);
$_GET['friend'] = fl($_GET['friend']);

if($_GET['clan'] == 'go'){
	if($uclan){
		if($u['clan_rank'] == 4){
			if($a['id'] != $u['id']){
				if($a['clan'] == 0){
					$invitations = $base  -> query('SELECT * FROM `clan_invitation` WHERE `user` = "'.$u['id'].'" AND `invitee_user` = "'.$a['id'].'"') -> num_rows;
					if(!$invitations){
						if($a['level'] > 4){
							$members = $base  -> query('SELECT * FROM `users` WHERE `clan` = "'.$uclan['id'].'"') -> num_rows;
							if(($members + 1) <= $uclan['max_members']){
								$base -> query('INSERT INTO `clan_invitation` SET
									`user` = "'.$u['id'].'",
									`invitee_user` = "'.$a['id'].'"');
								$_SESSION['message'] = 'Приглашение отправлено.';
							}else{
								$_SESSION['message'] = 'В клане нет места.';
							}
						}else{
							$_SESSION['message'] = 'Игрок ниже 5 уровня.';
						}
					}else{
						$_SESSION['message'] = 'Вы уже отправляли приглашение этому игроку.';
					}
				}else{
					$_SESSION['message'] = ''.$a['login'].' уже состоит в клане.';
				}
			}else{
				$_SESSION['message'] = 'Ошибка.';
			}
		}else{
			$_SESSION['message'] = 'Приглашать в клан может только лидер.';
		}
	}else{
		$_SESSION['message'] = 'Вы не состоите в клане.';
	}
	header('Location: /user/'.$a['id'].'/');
	exit;
}

if($_GET['party'] == 'go' AND $u['level'] > 19 AND $a['level'] > 19){
	if($a['id'] != $u['id']){
		$aparty = $base -> query("SELECT * FROM `party` WHERE `first_user` = '".$a['id']."' OR `second_user` = '".$a['id']."' OR `third_user` = '".$a['id']."' LIMIT 1") -> num_rows;
		if($aparty == 0){
			$invitations = $base  -> query('SELECT * FROM `party_invitation` WHERE `user` = "'.$u['id'].'" AND `invitee_user` = "'.$a['id'].'"') -> num_rows;
			if(!$invitations){
				if($uparty['third_user'] == 0 AND $uparty['first_user'] == $u['id']){
					if($a['world'] == $u['world'] AND $a['x'] == $u['x'] AND $a['y'] == $u['y']){
						$base -> query('INSERT INTO `party_invitation` SET
							`user` = "'.$u['id'].'",
							`invitee_user` = "'.$a['id'].'"');
						$_SESSION['message'] = 'Приглашение отправлено.';
					}else{
						$_SESSION['message'] = 'Вы должны стоять вместе, на одной локации.';
					}
				}else{
					$_SESSION['message'] = 'В команде недостаточно мест.';
				}
			}
		}else{
			$_SESSION['message'] = ''.$a['login'].' уже состоит в команде.';
		}
	}else{
		$_SESSION['message'] = 'Ошибка.';
	}
	header('Location: /user/'.$a['id'].'/');
	exit;
}

if($_GET['friend'] == 'go'){
	if($a['id'] != $u['id']){
		$friend = $base -> query('SELECT * FROM `friends` WHERE `user` = "'.$u['id'].'" AND `friend` = "'.$a['id'].'"') -> num_rows;
		if(!$friend){
			$base -> query('INSERT INTO `friends` SET
				`user` = "'.$u['id'].'",
				`friend` = "'.$a['id'].'"');
			$_SESSION['message'] = 'Игрок добавлен в ваш список друзей.';
			header('Location: /user/'.$a['id'].'/');
			exit;
		}else{
			$_SESSION['message'] = 'Игрок уже в вашем списке друзей.';
			header('Location: /user/'.$a['id'].'/');
			exit;
		}
	}else{
		$_SESSION['message'] = 'Ошибка.';
		header('Location: /user/'.$a['id'].'/');
		exit;
	}
}

if ($_GET['up']){
    
	if($u['character_points'] > 0){
		if($_GET['up'] == 'endurance'){
			$base -> query('UPDATE `users` SET `endurance` = `endurance` + "1", `max_hp` = `max_hp` + "20", `character_points` = `character_points` - "1" WHERE `id` = "'.$u['id'].'" LIMIT 1');
			$_SESSION['message'] = 'Выносливость успешно улучшена.';
			header('Location: /user/'.$u['id'].'/');
			exit;
		}
		if($_GET['up'] == 'intellect'){
			$base -> query('UPDATE `users` SET `intellect` = `intellect` + "1", `max_mp` = `max_mp` + "20", `character_points` = `character_points` - "1" WHERE `id` = "'.$u['id'].'" LIMIT 1');
			$_SESSION['message'] = 'Интеллект успешно улучшен.';
			header('Location: /user/'.$u['id'].'/');
			exit;
		}
		if($_GET['up'] == 'agility'){
			$base -> query('UPDATE `users` SET `agility` = `agility` + "1", `character_points` = `character_points` - "1" WHERE `id` = "'.$u['id'].'" LIMIT 1');
			$_SESSION['message'] = 'Ловкость успешно улучшена.';
			header('Location: /user/'.$u['id'].'/');
			exit;
		}
		if($_GET['up'] == 'skill'){
			$base -> query('UPDATE `users` SET `skill` = `skill` + "1", `character_points` = `character_points` - "1" WHERE `id` = "'.$u['id'].'" LIMIT 1');
			$_SESSION['message'] = 'Мастерство успешно улучшено.';
			header('Location: /user/'.$u['id'].'/');
			exit;
		}
	}else{
		$_SESSION['message'] = 'Недостаточно очков характеристик.';
		header('Location: /user/'.$u['id'].'/');
		exit;
	}
}

echo '<div class="title">'.$a['login'].'</div>';

// --- ЗАПРОС ДАННЫХ ПИТОМЦА ДЛЯ ОТОБРАЖЕНИЯ (ОБНОВЛЕНИЕ) ---
$equipped_pet_display = null;
if ($a['equipped_pet_id'] > 0) {
    // Ищем питомца по ID, принадлежащему пользователю. Исключаем экипировку из поиска, чтобы избежать конфликтов ID
    $equipped_pet_display = $base->query("SELECT ui.*, p.rarity_id, p.image AS pet_image_name 
                                          FROM `users_items` ui 
                                          INNER JOIN `pets` p ON ui.ident_id = p.id
                                          WHERE ui.id = '{$a['equipped_pet_id']}' AND ui.user = '{$a['id']}' 
                                          AND ui.what NOT IN ('clothing', 'head', 'body', 'left', 'right', 'hands', 'foot', 'necklace', 'ring', 'artifact') 
                                          LIMIT 1")->fetch_assoc();
}
// ---------------------------------------------


if ($a['id'] != $u['id']) {
	echo '<center><div class="border"><img style="max-width: 320px;" src="'.$skin.'"></div></center>';
} else {
	echo '<center><div class="border" style="position: relative;"><img style="max-width: 320px;" src="'.$skin.'">';
	if($u['character_points'] > 0) echo '<div style="position: absolute; top: 1%; right: 1%;"><a class="btn_small" href="/user/'.$u['id'].'/char_up/"><img src="/images/icons/character_points.png" width="24px"></a></div>';
	echo '</div></center>';
}

echo '<div class="title">Снаряжение</div>';
echo '<center>';
echo '<table style="width: 100%; max-width: 320px;" cellspacing="5px"><tr>';
echo '<td width="33%">';
if($a['equip_head'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Голова</center></div>';
}else{
	echo ''.profile_item($a['equip_head']).'';
}
echo '</td>';
echo '<td width="33%">';
if($a['equip_right'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Пр. Рука</center></div>';
}else{
	echo ''.profile_item($a['equip_right']).'';
}
echo '</td>';
echo '<td width="33%">';
if($a['equip_left'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Л. Рука</center></div>';
}else{
	echo ''.profile_item($a['equip_left']).'';
}
echo '</td>';
echo '</tr><tr>';
echo '<td width="33%">';
if($a['equip_body'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Тело</center></div>';
}else{
	echo ''.profile_item($a['equip_body']).'';
}
echo '</td>';
echo '<td width="33%">';
if($a['equip_hands'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Руки</center></div>';
}else{
	echo ''.profile_item($a['equip_hands']).'';
}
echo '</td>';
echo '<td width="33%">';
if($a['equip_foot'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Обувь</center></div>';
}else{
	echo ''.profile_item($a['equip_foot']).'';
}
echo '</td>';
echo '</tr><tr>';
echo '<td width="33%">';
if($a['equip_necklace'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Ожерелье</center></div>';
}else{
	echo ''.profile_item($a['equip_necklace']).'';
}
echo '</td>';
echo '<td width="33%">';
if($a['equip_ring'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Кольцо</center></div>';
}else{
	echo ''.profile_item($a['equip_ring']).'';
}
echo '</td>';
echo '<td width="33%">';
if($a['equip_artifact'] == 0){
	echo '<div class="event_item"><center><img src="/images/empty.png" width="50px"><br/>Артефакт</center></div>';
}else{
	echo ''.profile_item($a['equip_artifact']).'';
}
echo '</td>';
echo '</tr></table>';
echo '</center>';

// --- ЯЧЕЙКА ПИТОМЦА (ДОБАВЛЕНО) ---
echo '<div class="title">Питомец</div>';
echo '<div class="event_item">';
echo '<table cellpadding="0" cellspacing="0"><tr><td>';

if ($equipped_pet_display) {
    $color_code = get_rarity_color($equipped_pet_display['rarity_id']);
    // Кликабельная картинка ведет на страницу управления питомцами
    echo '<a href="/pets/my/"><img src="/images/mobs/pets/'.$equipped_pet_display['pet_image_name'].'" width="40px" style="border: 1px solid '.$color_code.';"></a>';
} else {
    echo '<img src="/images/empty_pet.png" width="40px" style="border: 1px solid #404050;">'; // Заглушка
}
echo '</td><td valign="top" style="padding-left: 5px;">';
if ($equipped_pet_display) {
    // В users_items имя питомца хранится в колонке name
    echo '<b>'.$equipped_pet_display['name'].'</b> ('.get_item_color_by_rarity($equipped_pet_display['rarity_id'], 'Активен', false).')<br/>';
    
} else {
    echo '<small>Питомец отсутствует</small><br/>';
}
if ($a['id'] == $u['id']) {
    echo '<a class="btn_mini" href="/pets/my/">Мои питомцы</a>';
}
echo '</td></tr></table></div>';
// -----------------------------------


echo '<div class="title">Характеристики</div>';
echo '<table class="table table-common" style="margin-top: 5px; border-collapse: collapse; text-align: left;">';
echo '<tr><td><img src="/images/icons/p_att.png"> Физ. Атака</td><td><center>'.n_f($a['p_att']).'</center></td><td><img src="/images/icons/endurance.png"> Выносливость</td><td><center>'.n_f($a['endurance']).'</center></td></tr>';
echo '<tr><td><img src="/images/icons/p_def.png"> Физ. Защита</td><td><center>'.n_f($a['p_def']).'</center></td><td><img src="/images/icons/intellect.png"> Интеллект</td><td><center>'.n_f($a['intellect']).'</center></td></tr>';
echo '<tr><td><img src="/images/icons/m_att.png"> Маг. Атака</td><td><center>'.n_f($a['m_att']).'</center></td><td><img src="/images/icons/agility.png"> Ловкость</td><td><center>'.n_f($a['agility']).'</center></td></tr>';
echo '<tr><td><img src="/images/icons/m_def.png"> Маг. Защита</td><td><center>'.n_f($a['m_def']).'</center></td><td><img src="/images/icons/skill.png"> Мастерство</td><td><center>'.n_f($a['skill']).'</center></td></tr>';
echo '</table>';

echo '<div class="title">Другое</div>';
if($a['clan'] == 0){
	if($a['id'] != $u['id'] AND $uclan['clan_rank'] == 4 AND $uclan['max_members'] > $members) echo '<a class="btn" href="/user/'.$a['id'].'/clan/go/"><img src="/images/icons/clan.png"> Пригласить в клан</a>';
	elseif($a['id'] == $u['id']) echo '<a class="btn" href="/city/clanhall/"><img src="/images/icons/clan.png"> Создать клан</a>';
}elseif($a['clan'] > 0){
	echo '<a class="btn" href="/clan/info/'.$a['clan'].'"><img src="/images/icons/clan.png"> Клан</a>';
}
if($a['id'] != $u['id'] AND $u['id'] != 3 AND $u['id'] != 12) echo '<a class="btn" href="/user/'.$a['id'].'/party/go/"><img src="/images/icons/party.png"> Пригласить в команду</a>';
if($a['id'] != $u['id']) echo '<a class="btn" href="/dialog/'.$a['id'].'"><img src="/images/icons/mail.png"> Написать</a>';
if($a['id'] != $u['id']) echo '<a class="btn" href="/user/'.$a['id'].'/friend/go/"><img src="/images/icons/user.png"> Добавить в друзья</a>';
if($u['admin'] > 0 AND $u['admin'] >= $a['admin']){
	echo '<div class="title">Админка</div>';
	if($u['admin'] >= 2 AND $a['id'] != $u['id'] AND $a['admin'] == 0) echo '<a class="btn" href="/panel/banned/all/'.$a['id'].'"><img src="/images/icons/no.png"> Заблокировать</a>';
	if($u['admin'] >= 2 AND $a['id'] != $u['id'] AND $a['admin'] == 0) echo '<a class="btn" href="/panel/banned/mute/'.$a['id'].'"><img src="/images/icons/no.png"> Заткнуть</a>';
	if($u['admin'] >= 3 AND $a['admin'] == 0) echo '<a class="btn" href="/user/'.$a['id'].'/send/crystals/"><img src="/images/icons/crystals.png"> Отправить кристаллы</a>';
}

echo '</div>';

break;

case 'char_up':

echo '<div class="title">Повысить характеристики</div>';
echo '<div class="event"><center>Очки характеристик: <img src="/images/icons/character_points.png" width="20px"> <font color="gold"><b>'.$u['character_points'].'</b></font></center></div>';

if($u['character_points'] > 0){

echo '<table class="table table-common" style="margin-top: 5px; border-collapse: collapse; text-align: left;">';
echo '<tr><td><img src="/images/icons/endurance.png"> Выносливость</td><td><center>'.n_f($u['endurance']).'</center></td><td><center><a href="/user/'.$u['id'].'/up/endurance/"><img src="/images/icons/up.png" width="20px"></a></center></td></tr>';
echo '<tr><td><img src="/images/icons/intellect.png"> Интеллект</td><td><center>'.n_f($u['intellect']).'</center></td><td><center><a href="/user/'.$u['id'].'/up/intellect/"><img src="/images/icons/up.png" width="20px"></a></center></td></tr>';
echo '<tr><td><img src="/images/icons/agility.png"> Ловкость</td><td><center>'.n_f($u['agility']).'</center></td><td><center><a href="/user/'.$u['id'].'/up/agility/"><img src="/images/icons/up.png" width="20px"></a></center></td></tr>';
echo '<tr><td><img src="/images/icons/skill.png"> Мастерство</td><td><center>'.n_f($u['skill']).'</center></td><td><center><a href="/user/'.$u['id'].'/up/skill/"><img src="/images/icons/up.png" width="20px"></a></center></td></tr>';
echo '</table>';

}else{
	echo '<div class="event"><center>У вас нет очков характеристик.</center></div>';
}

echo '<a class="btn" href="/user/'.$u['id'].'/">Назад</a>';

break;

case 'send':

$action = fl($_GET['type']);

if ($action == 'crystals')
{
    
    if (isset($_POST['sum']))
    {
        $sum = abs(intval($_POST['sum']));

        if (empty($sum)) error('Введите сумму.');
        else if ($sum > $u['crystals']) error('Недостаточно кристаллов.');
        else
        {
            
            $base -> query("UPDATE `users` SET `crystals` = `crystals` + '".$sum."' WHERE `id` = '".$a['id']."' LIMIT 1");
            $base -> query("UPDATE `users` SET `crystals` = `crystals` - '".$sum."' WHERE `id` = '".$u['id']."' LIMIT 1");
            
            /////////////
            $iUsr = $base -> query("SELECT * FROM `users` WHERE `id` = '".$a['id']."' LIMIT 1") -> fetch_assoc();
            $base -> query("INSERT INTO `chat` (`user`,`text`,`time`) VALUES (3,'".$u['login']." передал ".($_POST['sum'])." кристаллов игроку ".$iUsr['login']."','".time()."')");
            ///////////////
            
            
            $_SESSION['message'] = 'Передача кристаллов прошла успешно.';
            header('Location: /user/'.$a['id'].'/');
            exit;
        }
    }
    
    echo '<div class="title">Передача кристаллов</div>';
    
    echo '<div class="event"><center>Ваш баланс: <img src="/images/icons/crystals.png"> <b>'.n_f($u['crystals']).'</b><br>
    Баланс '.$a['login'].': <img src="/images/icons/crystals.png"> <b>'.n_f($a['crystals']).'</b>
    </center></div>';
    
    echo '<center><form method="POST">';
    echo 'Сумма для передачи:<br/>';
    echo '<input type="number" name="sum" value="" placeholder="Введите сумму" required/> <br/>';
    echo '<input type="submit" value="Передать" />';
    echo '</form></center>';
}

echo '<a class="btn" href="/user/'.$a['id'].'/">Назад</a>';

break;

}

echo '</div></div></center>';

include_once ('core/foot.php');
?>