<?php session_start(); include_once 'config.php'; include_once 'models/PresentsModel.php'; $login = urldecode($_SERVER['QUERY_STRING']) ?? ''; $uid = $_SESSION['uid'] ?? null; $user = new User($login); const MODERATOR_ACCESS = 1; const ADMINISTRATOR_ACCESS = 2; function private_access($uid) { $own = db::c()->query('SELECT `align`,`admin` FROM `users` WHERE `id` = "?s"', $uid)->fetch_assoc(); if ($own['admin'] === 1) { return ADMINISTRATOR_ACCESS; } elseif ($own['align'] === 1) { return MODERATOR_ACCESS; } return false; } $presentsModel = new PresentsModel(); $presentsList = $presentsModel->getAllPresents($user->id); if (empty($user->id)): ?> <!doctype html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Ошибка</title> </head> <body style="color: #666; background-color: #d5d5d5; text-align: center; font-family: Consolas,monospace;"> Ошибка: персонаж <em><?= $login ?></em> не найден... <p><a style="color: #99f" href="javascript:window.history.go(-1);">←назад</a></p> </body> </html> <?php exit(); endif; ?> <html lang="ru"> <head> <title>Информация о <?= $user->login ?></title> <meta charset=UTF-8"/> <link href="css/main.css" rel="stylesheet"> </head> <body> <?php try { $effect = db::c()->query('SELECT `time` FROM `effects` WHERE `owner` = ?i AND `type` = ?i ', $user->id, 5)->fetch_assoc(); if ($effect['time'] && !private_access($uid)) { die('<h3>Персонаж обезличен!</h3>'); } } catch (Exception $e_hide_info) { echo "<div class='debug'>Ошибка обезличивателя: {$e_hide_info}</div>"; } try { $user->showUserInfo(); } catch (Exception $e_showUserInfo) { echo "<div class='debug'>Ошибка генератора showUserInfo() в User.php: {$e_showUserInfo}</div>"; } include_once 'views/presents-list.php'; # Секретный раздел # Если я любой паладин, и смотрю не админа, или я сам админ. echo sprintf('<div class="debug">secret: %s <br><br> %s</div>', private_access($uid), var_dump(private_access($uid))); if ((private_access($uid) === MODERATOR_ACCESS && !$user->admin) || private_access($uid) === ADMINISTRATOR_ACCESS) { $ld = db::c()->query('SELECT * FROM users_logs WHERE user_id = ?i ORDER BY `id` ASC', $user->id); echo "<H4>Личное дело</H4>"; while ($row_ld = $ld->fetch_assoc()) { $text = date("d.m.Y H:i ", $row_ld['date']) . $row_ld['text']; echo "<code>$text</code><br />"; } echo "<H4>Дополнительные сведения</H4>"; if (!empty($user->id)) { echo "ID: " . $user->id . "<br>"; } if (!empty($user->email)) { echo "E-mail: " . $user->email . "<br>"; } if (!empty($user->borndate)) { echo "День рождения: " . $user->borndate . "<br>"; } if (!empty($user->ip)) { echo "IP при регистрации: " . $user->ip . "<br>"; } } if (private_access($uid) === ADMINISTRATOR_ACCESS) { if (!empty($user->exp)) { echo "Oпыт: " . $user->exp . "<br>"; } if (!empty($user->stats)) { echo "Число неиспользованных UP-ов: " . $user->stats . "<br>"; } if (!empty($user->money)) { echo "Кредитов: " . $user->money . "<br>"; } if (!empty($user->room)) { echo "Комната: " . $user->room . "<br>"; } echo "<H4>Банковские счета</H4>"; $bankInfo = new Bank($user->id); echo "Счет: " . $bankInfo->user_id . PHP_EOL; echo "Деньги на счету: " . $bankInfo->money . PHP_EOL; } ?> <script src="js/jquery-1.7.2.min.js"></script> <script src="js/showthing.js"></script> <script> $(function () { $(".tooltip").tipTip({maxWidth: "auto", edgeOffset: 0, fadeIn: 300, fadeOut: 500}); }); </script> </body> </html>