<?php
define('_CONSTANT_', 1);
require_once '../../core/start.php';
checkAuth();
head('Клан', 'Клан');
if (empty($user['clan_id']))
{
error('Вы не состоите в клане', '/modules/clan/clans.php', 'Посмотреть список кланов');
}
switch ($do)
{
default:
$userClan = DB::$dbs->queryFetch("SELECT * FROM " . CLANS . " WHERE `id` = ?", [$user['clan_id']]);
if ($userClan)
{
?>
<div class="head">
<span><?=$Filter->output($userClan['name'])?></span>
</div>
<div class="content">
<?=(empty($userClan['announcement']) ? 'Обьявления нет...' : $Filter->output($userClan['announcement']))?>
</div>
<br />
<div class="clanInfo">
<span>Уровень: <?=$Filter->clearInt($userClan['lvl'])?></span>
<br />
<span>Рейтинг: <?=$Count->clanCountRating($userClan['id'])?></span>
</div>
<br />
<br />
<div class="clanLink">
<a href="<?=HOME?>/modules/clan/index.php?do=clanBank" class="link-touch"><?=ico('gold-big.png')?> Сокровищница</a>
<a href="#" class="link-touch"><?=ico('chat.png')?> Чат</a>
<a href="#" class="link-touch"> Форум</a>
<a href="<?=HOME?>/modules/clan/index.php?do=clanJournal" class="link-touch"><?=ico('journal.png')?> Журнал</a>
<?=($user['clan_access'] == 5 ? '<a href="'. HOME .'/modules/clan/index.php?do=liderPanel" class="link-touch">'. ico('panel.png') .' Управление игроками</a>' : null)?>
<a href="<?=HOME?>/modules/clan/index.php?leaveClan" class="link-touch"><?=ico('0.png')?> Покинуть клан</a>
</div>
<div class="head">Участники [<?=$Filter->clearInt($userClan['users'])?>/<?=$Filter->clearInt($userClan['max_users'])?>]</div><br/>
<?php
# Leave clan;
if (isset($_GET['leaveClan']))
{
if ($user['clan_access'] == 5 && $userClan['users'] > 1)
{
errorNoExit('Вы не можете покинуть клан пока в нем есть игроки');
}
else
{
# Leave;
if (isset($_GET['true']))
{
DB::$dbs->query("UPDATE ". CLANS ." SET `users` = ?, `rating` = ? WHERE `id` = ?", [($userClan['users'] - 1), ($userClan['rating'] - $user['clan_rating']), $userClan['id']]);
DB::$dbs->query("UPDATE ". USERS ." SET `clan_id` = ?, `clan_rating` = ?, `clan_access` = ? WHERE `id` = ?", [0, 0, 0, $user['id']]);
$User->addClanJournal(' покинул клан');
success('Вы успешно покинули клан', '/game/index.php', 'На главную');
}
else
{
echo '<div class="title">Подтвердите действие</div><div class="content">Вы действительно хотите покинуть клан?<br/><a href="'. HOME .'/modules/clan/index.php?leaveClan&true" class="link-touch">'. ico('1.png') .' Покинуть клан</a><a href="'. HOME .'/modules/clan/index.php" class="link-touch">'. ico('0.png') .' Нет</a></div>';
}
}
}
$all = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM " . USERS . " WHERE `clan_id` = ? ORDER BY `clan_access` DESC", [$user['clan_id']]);
$n = new Navigator($all,10,'');
$sql = DB::$dbs->query("SELECT * FROM " . USERS . " WHERE `clan_id` = ? ORDER BY `clan_access` DESC LIMIT {$n->start()}, 10", [$user['clan_id']]);
if (empty($all))
{
errorNoExit('Пусто...');
}
while ($profile = $sql -> fetch())
{
?>
<?=userLink($profile['id'], 'link-touch', $User->clanAccess($profile['id'], 'name') . '<span class="count">'. ico('clan-rating.png') . $profile['clan_rating'] .'</span>');?>
<?php
}
}
else
{
error('Ошибка! Обратитесь к администратору', '/', 'На главную');
}
break;
case 'clanBank':
if ($user['clan_id'] == 0)
{
error('Вы не состоите в клане', '/modules/clan/clans.php', 'Посмотреть список кланов');
}
$userClan = DB::$dbs->queryFetch("SELECT * FROM " . CLANS . " WHERE `id` = ?", [$user['clan_id']]);
if ($userClan)
{
?>
Золото: <?=moneyIcon() . $Filter->clearInt($userClan['money'])?><br/>
<?php
/* Form add */
if (isset($_POST['addMoney']))
{
$data = $_POST;
$data['money'] = $Filter->clearInt($data['money']);
if ($user['money'] < $data['money'])
{
error('Недостаточно золота', '/modules/clan/index.php', 'Веруться в клан');
}
DB::$dbs->query("UPDATE " . CLANS . " SET `money` = ? WHERE `id` = ?", [($userClan['money'] + $data['money']), $userClan['id']]);
DB::$dbs->query("UPDATE " . USERS . " SET `money` = ? WHERE `id` = ?", [($user['money'] - $data['money']), $user['id']]);
$User->addClanJournal(' добавил '.$data['money'].' золота в сокровищницу клана');
success('Вы успешно добавили золото в казну', '/modules/clan/index.php', 'Вернуться в клан');
}
?>
<form action="" method="POST">
<input type="text" name="money" placeholder="Введите количество..."><br/>
<input type="submit" name="addMoney" value="Добавить">
</form>
<?php
}
else
{
error('Ошибка! Обратитесь к администратору', '/', 'На главную');
}
break;
case 'clanJournal':
if ($user['clan_id'] == 0)
{
error('Вы не состоите в клане', '/modules/clan/clans.php', 'Посмотреть список кланов');
}
$userClan = DB::$dbs->queryFetch("SELECT * FROM " . CLANS . " WHERE `id` = ?", [$user['clan_id']]);
if ($userClan)
{
$all = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM " . CLANS_JOURNAL . " WHERE `clan_id` = ? ORDER BY `time` DESC", [$user['clan_id']]);
$n = new Navigator($all,10,'do=clanJournal');
$sql = DB::$dbs->query("SELECT * FROM " . CLANS_JOURNAL . " WHERE `clan_id` = ? ORDER BY `time` DESC LIMIT {$n->start()}, 10", [$user['clan_id']]);
if (empty($all))
{
errorNoExit('Пусто...');
}
while ($list = $sql -> fetch())
{
?>
<div style="padding: 5px; border: 1px solid #111;"><span style="color: #808080;"> <?=dataTime($list['time'])?></span> <?=userLink($Filter->clearInt($list['user_id'])) . $Filter->output($list['text'])?></div>
<?php
}
echo $n->navi();
}
else
{
error('Ошибка! Обратитесь к администратору', '/', 'На главную');
}
break;
case 'inviteUser':
if (isset($_GET['userId']) && $User->clanAccess($user['id']) == 5)
{
$userId = $Filter->clearInt($_GET['userId']);
$profile = DB::$dbs->queryFetch("SELECT * FROM " . USERS . " WHERE `id` = ?", [$userId]);
$clan = DB::$dbs->queryFetch("SELECT * FROM " . CLANS . " WHERE `id` = ?", [$user['clan_id']]);
if (!$profile)
{
error('Пользователя не существует', '/', 'На главную');
}
if ($profile['clan_id'] != 0)
{
error('Пользователь уже в клане', '/', 'На главную');
}
if ($profile['clan_invite'] == 1)
{
error('У этого пользователя уже есть приглашение', '/', 'На главную');
}
if ($clan['users'] == $clan['max_users'])
{
error('В клане нет мест', '/', 'На главную');
}
DB::$dbs->query("UPDATE " . USERS . " SET `clan_invite` = ?, `clan_invite_id` = ? WHERE `id` = ?", [1, $user['clan_id'], $userId]);
success('Приглашение отправлено', '/', 'На главную');
}
else
{
error('Не получен ID пользователя и/или у вас не достаточно прав', '/', 'На главную');
}
break;
case 'liderPanel':
if ($user['clan_access'] != 5)
{
errorNoExit('Управлять кланом может только лидер!');
}
else
{
$all = DB::$dbs->querySingle("SELECT COUNT(`id`) FROM " . USERS . " WHERE `clan_id` = ? ORDER BY `clan_access` DESC", [$user['clan_id']]);
$n = new Navigator($all,5,'do=liderPanel');
$sql = DB::$dbs->query("SELECT * FROM " . USERS . " WHERE `clan_id` = ? ORDER BY `clan_access` DESC LIMIT {$n->start()}, 5", [$user['clan_id']]);
if (empty($all))
{
errorNoExit('Пусто...');
}
else
{
while ($profile = $sql -> fetch())
{
if ($profile['id'] != $user['id'])
{
?>
<div class="content">
<?=userLink($profile['id'], 'link-touch', $User->clanAccess($profile['id'], 'name') . '<span class="count">'. ico('clan-rating.png') . $profile['clan_rating'] .'</span>');?>
<a href="<?=HOME?>/modules/clan/index.php?do=liderPanel&upAccess&userId=<?=$Filter->clearInt($profile['id'])?>" class="link-touch"> Повысить</a>
<a href="<?=HOME?>/modules/clan/index.php?do=liderPanel&downAccess&userId=<?=$Filter->clearInt($profile['id'])?>" class="link-touch"> Понизить</a>
<a href="<?=HOME?>/modules/clan/index.php?do=liderPanel&kickUser&userId=<?=$Filter->clearInt($profile['id'])?>" class="link-touch"> Выгнать</a>
<a href="<?=HOME?>/modules/clan/index.php?do=liderPanel&giveGold&userId=<?=$Filter->clearInt($profile['id'])?>" class="link-touch"> Дать золота из казны</a>
</div>
<?php
}
}
echo $n->navi();
# Up access;
if (isset($_GET['upAccess']) && $user['clan_access'] == 5)
{
$userId = $Filter->clearInt($_GET['userId']);
if (empty($userId))
{
errorNoExit('Не получен id игрока');
}
else
{
$profile = DB::$dbs->queryFetch("SELECT * FROM " . USERS . " WHERE `id` = ? and `clan_id` = ?", [$userId, $user['clan_id']]);
if (empty($profile))
{
errorNoExit('Пользователь не найден, или он не из этого клана');
}
else
{
if ($profile['id'] == $user['id'])
{
errorNoExit('Нельзя повысить себя');
}
else
{
if ($profile['clan_access'] == 4)
{
errorNoExit('Игрок уже повышен на максимальный уровень');
}
else
{
DB::$dbs->query("UPDATE ". USERS ." SET `clan_access` = ? WHERE `id` = ?", [($profile['clan_access'] + 1), $profile['id']]);
$User->addClanJournal(' повысил игрока ' . $User->userAnswer($profile['id'], 'login'));
$User->addUserJournal(userLink($user['id']) . ' повысил вас в клане', $profile['id']);
success('Вы успешно повысили игрока', '/modules/clan/index.php?do=liderPanel', 'Управление игроками');
}
}
}
}
}
# Down access;
if (isset($_GET['downAccess']) && $user['clan_access'] == 5)
{
$userId = $Filter->clearInt($_GET['userId']);
if (empty($userId))
{
errorNoExit('Не получен id игрока');
}
else
{
$profile = DB::$dbs->queryFetch("SELECT * FROM " . USERS . " WHERE `id` = ? and `clan_id` = ?", [$userId, $user['clan_id']]);
if (empty($profile))
{
errorNoExit('Пользователь не найден, или он не из этого клана');
}
else
{
if ($profile['id'] == $user['id'])
{
errorNoExit('Нельзя понизить себя');
}
else
{
if ($profile['clan_access'] == 0)
{
errorNoExit('Игрок уже понижен на максимальный уровень');
}
else
{
DB::$dbs->query("UPDATE ". USERS ." SET `clan_access` = ? WHERE `id` = ?", [($profile['clan_access'] - 1), $profile['id']]);
$User->addClanJournal(' понизил игрока ' . $User->userAnswer($profile['id'], 'login'));
$User->addUserJournal(userLink($user['id']) . ' понизил вас в клане', $profile['id']);
success('Вы успешно понизили игрока', '/modules/clan/index.php?do=liderPanel', 'Управление игроками');
}
}
}
}
}
# Kick user;
if (isset($_GET['kickUser']) && $user['clan_access'] == 5)
{
$userId = $Filter->clearInt($_GET['userId']);
if (empty($userId))
{
errorNoExit('Не получен id игрока');
}
else
{
$profile = DB::$dbs->queryFetch("SELECT * FROM " . USERS . " WHERE `id` = ? and `clan_id` = ?", [$userId, $user['clan_id']]);
if (empty($profile))
{
errorNoExit('Пользователь не найден, или он не из этого клана');
}
else
{
if ($profile['id'] == $user['id'])
{
errorNoExit('Нельзя выгнать себя');
}
else
{
if (isset($_GET['true']))
{
$clan = DB::$dbs->queryFetch("SELECT * FROM ". CLANS ." WHERE `id` = ?", [$user['clan_id']]);
DB::$dbs->query("UPDATE ". CLANS ." SET `users` = ?, `rating` = ? WHERE `id` = ?", [($clan['users'] - 1), ($clan['rating'] - $user['clan_rating']), $clan['id']]);
DB::$dbs->query("UPDATE ". USERS ." SET `clan_id` = ?, `clan_rating` = ?, `clan_access` = ? WHERE `id` = ?", [0, 0, 0, $profile['id']]);
$User->addClanJournal(' выгнал игрока ' . $User->userAnswer($profile['id'], 'login'));
$User->addUserJournal(userLink($user['id']) . ' выгнал вас из клана', $profile['id']);
success('Вы выгнали игрока ' . userLink($profile['id']), '/modules/clan/index.php?do=liderPanel', 'Управление игроками');
}
else
{
?>
<div class="head">Подтвердите действие</div>
<div class="content">
Вы действительно хотите выгнать <?=userLink($profile['id'])?> из клана?
<a href="<?=HOME?>/modules/clan/index.php?do=liderPanel&kickUser&userId=<?=$Filter->clearInt($profile['id'])?>&true" class="link-touch"> Да</a>
<a href="<?=HOME?>/modules/clan/index.php?do=liderPanel" class="link-touch"> Нет</a>
</div>
<?php
}
}
}
}
}
# Give gold;
if (isset($_GET['giveGold']) && $user['clan_access'] == 5)
{
$userId = $Filter->clearInt($_GET['userId']);
if (empty($userId))
{
errorNoExit('Не получен id игрока');
}
else
{
$profile = DB::$dbs->queryFetch("SELECT * FROM " . USERS . " WHERE `id` = ? and `clan_id` = ?", [$userId, $user['clan_id']]);
if (empty($profile))
{
errorNoExit('Пользователь не найден, или он не из этого клана');
}
else
{
if ($profile['id'] == $user['id'])
{
errorNoExit('Нельзя дать золота себя');
}
else
{
$clan = DB::$dbs->queryFetch("SELECT * FROM ". CLANS ." WHERE `id` = ?", [$user['clan_id']]);
if (empty($clan['money']) || $clan['money'] <= 500)
{
errorNoExit('Нет золота в казне или золота меньше чем 500');
}
else
{
$allowGold = $profile['clan_rating'] / 2;
if (isset($_POST['try']) && $user['clan_access'] == 5)
{
$data = $_POST;
$data['money'] = $Filter->clearInt($data['money']);
if ($data['money'] > $allowGold)
{
errorNoExit('Нельзя дать столько золота');
}
else if ($data['money'] > $clan['money'])
{
errorNoEXit('В казне нет столько золота');
}
else if (($clan['money'] - $data['money']) < 500)
{
errorNoEXit('После перевода в казне должно остаться не меньше чем 500 золота');
}
else
{
DB::$dbs->query("UPDATE ". USERS ." SET `money` = ? WHERE `id` = ?", [($profile['money'] + $data['money']), $profile['id']]);
DB::$dbs->query("UPDATE ". CLANS ." SET `money` = ? WHERE `id` = ?", [($clan['money'] - $data['money']), $clan['id']]);
$User->addClanJournal(' дал '. $data['money'] .' золота из казны клана игроку ' . $User->userAnswer($profile['id'], 'login'));
$User->addUserJournal(userLink($user['id']) . ' дал вам ' . ico('gold.png') . $data['money'] .' из казны клана.', $profile['id']);
success('Вы успешно перевели '. ico('gold.png') . $data['money'] .' пользователю ' . userLink($profile['id']), '/modules/clan/index.php?do=liderPanel', 'Управление игроками');
}
}
?>
В казне: <?=ico('gold.png') . $Filter->clearInt($clan['money'])?><br/>
К переводу разрешено: <?=ico('gold.png') . $Filter->clearInt($allowGold)?><br/>
<?=ico('info.png')?> Количество перевода зависит от количества рейтинга игрока в клане.<br/>
<form action="" method="POST">
<b>Количество золота:</b> <br/>
<input type="text" name="money" placeholder="Введите количество..."><br/>
<input type="submit" name="try" value="Перевести">
</form>
<?php
}
}
}
}
}
}
}
break;
case 'buildings':
?>
<div class="head">
Клановы постройки
</div>
<?php
$userClan = DB::$dbs->queryFetch("SELECT * FROM " . CLANS . " WHERE `id` = ?", [$user['clan_id']]);
?>
<div class="wrap">
<a href="<?=HOME?>/modules/clan/index.php?do=buildings&towerMagic">Башня магов - <?=$userClan['magic_lvl']?>ур.<br/>
</div>
<?php
if (isset($_GET['towerMagic']))
{
$cost = $userClan['magic_lvl'] * 1000;
$percentBonus = $userClan['magic_lvl'] * 3;
?>
<div class="head">
Башня магов
</div>
<div class="wrap">
+ <?=$userClan['magic_lvl']?>% к криту.<br/>
+ <?=$percentBonus?>% к городскому бонусу.<br/>
</div>
<?php
if ($userClan['magic_lvl'] == 10)
{
?>
<div class="wrap">
Башня магов уже максимального уровня
</div>
<?php
}
else
{
?>
<div class="wrap">
Уровень: <?=$userClan['magic_lvl']?>
</div>
<?php
if ($user['clan_access'] == 5)
{
?>
<a href="<?=HOME?>/modules/clan/index.php?do=buildings&towerMagic&update" class="link-touch"> Улучшить за <?=ico('gold.png') . $cost?></a>
<?php
if (isset($_GET['update']))
{
if ($userClan['money'] < $cost)
{
error('Недостаточно золота в казне клана', '/modules/clan/index.php?do=buildings&towerMagic');
}
else if ($userClan['magic_lvl'] == 10)
{
error('Башня магов уже максимального уровня', '/modules/clan/index.php?do=buildings&towerMagic');
}
else
{
DB::$dbs->query("UPDATE ". CLANS ." SET `money` = ?, `magic_lvl` = ? WHERE `id` = ?", [($userClan['money'] - $cost), ($userClan['magic_lvl'] + 1), $userClan['id']]);
success('Башня магов успешно улучшена.', '/modules/clan/index.php?do=buildings&towerMagic');
}
}
}
}
}
}
require_once '../../core/foot.php';