<?php
ob_start("ob_gzhandler");
session_start();
if ($_SESSION['uid'] == null) header("Location: index.php");
include_once 'config.php';
include_once 'functions.php';
$status = null;
$action = filter_input(INPUT_POST,'action');
$login = filter_input(INPUT_POST,'login');

if (!$user['klan']) {
    die(err('Вы не состоите в клане!'));
}
$klan = db::c()->query('SELECT * FROM `clans` WHERE `id` = ?i', $user['klan'])->fetch_assoc();
$polno = [];
$polno = unserialize($klan['vozm']);

if (isset($_POST['zamok'])) {
    db::c()->query('UPDATE `clans` SET `zamok` = 1 WHERE `glava` = ?i', $_SESSION['uid']);
    $status = "Начат сбор средств на строительство Кланового Замка.";
    header("Location: clan.php");
}

if (isset($_POST['kr']) && ($_POST['kolv'] > 0)) {
    if ($user['money'] >= $_POST['kolv']) {
        db::c()->query('UPDATE `clans` SET `zbor` = `zbor` + ?i WHERE `id` = ?i', $_POST['kolv'], $user['klan']);
        db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', $_POST['kolv'], $user['id']);
        header("Location: clan.php");
    } else $status = 'Не хватает денег!';
}

if (!empty($login) AND $action == 'add_member' AND $polno[$user['id']][0] == 1) {
    $sok = db::c()->query('SELECT `id`,`level`,`klan` FROM `users` WHERE  `align` = 0 AND `login` = "?s"', $login)->fetch_assoc();
    $proverka = db::c()->query('SELECT 1 FROM `effects` WHERE `type` = 20 AND `owner` = ?i', $sok['id'])->getNumRows();
    if (!$proverka) echo "Нет проверки!";
    elseif (!empty($sok['klan'])) echo 'Персонаж уже состоит в клане!';
    elseif ($sok['level'] > 0 && $user['money'] >= 100) {
        db::c()->query('UPDATE `users` SET `money` = `money` - 100 WHERE `id` = ?i', $_SESSION['uid']);
        db::c()->query('UPDATE `users` SET `status` = "?s", `klan` = "?s", `align` = ?i WHERE `id` = ?i', 'Боец', $klan['id'], $klan['align'], $sok['id']);
        $status = 'Персонаж «' . $login . '» успешно принят в клан.';
    } else $status = 'Не хватает денег, или персонажа не существует.';
}

if (!empty($login) AND $action == 'remove_member' AND $polno[$user['id']][0] == 1) {
    $sok = db::c()->query('SELECT `id` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $login)->fetch_assoc();
    if ($sok['id'] != $klan['glava'] AND $user['money'] >= 30) {
        db::c()->query('UPDATE `users` SET `money` = `money` - 30 WHERE `id` = ?i', $_SESSION['uid']);
        db::c()->query('UPDATE `users` SET `klan` = null, `align` = 0 WHERE `id` = ?i', $sok['id']);
        $status = 'Персонаж «' . $login . '» покинул клан.';
    }
}

if (!empty($login) AND $action == 'change_owner' AND $klan['glava'] == $_SESSION['uid']) {
    $sok = db::c()->query('SELECT `id` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $login)->fetch_assoc();
    db::c()->query('UPDATE `clans` SET `glava` = ?i WHERE `id` = ?i', $sok['id'], $klan['id']);
    db::c()->query('UPDATE `users` SET `status` = null WHERE `id` = ?i', $sok['id']);
    db::c()->query('UPDATE `users` SET `status` = "?s" WHERE `id` = ?i', 'Боец', $_SESSION['uid']);
    $klan['glava'] = $sok['id'];
}

if (!empty($login) AND $action == 'edit_status') {
    $sok = db::c()->query('SELECT `id`, `status` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $login)->fetch_assoc();
    if ($sok['id'] != $klan['glava']) {
        if (!empty($_POST['new_status'])) {
            $st = strip_tags(str_replace("&lt;", "<", str_replace("&gt;", ">", $_POST['new_status'])), "<B><I><U>");
            db::c()->query('UPDATE `users` SET `status` = "?s" WHERE `id` = ?i', $st, $sok['id']);
            $sok['status'] = $st;
        }
        if ($klan['glava'] == $_SESSION['uid']) {
            if (!empty($_POST['vin'])) $polno[$sok['id']][0] = 1;
            else $polno[$sok['id']][0] = 0;

            if (!empty($_POST['tus'])) $polno[$sok['id']][1] = 1;
            else $polno[$sok['id']][1] = 0;

            db::c()->query('UPDATE `clans` SET `vozm` = "?s" WHERE `id` = ?i', serialize($polno), $klan['id']);
        }
    } else $status = 'Главу клана редактировать запрещено!';
}

$clan_memberlist = db::c()->query('SELECT `id`, `login`, `status`, `level`, `room`, `align`, (select `id` from `online` WHERE `date` >= ?i AND `id` = users.`id`) AS `online` FROM `users` WHERE `klan` = ?i ORDER BY `online` DESC , `login` ASC', (time() - 60), $klan['id']);

?>
<!doctype html>
<html>
<head>
    <link rel=stylesheet href="css/main.css">
    <meta charset="utf-8">
</head>
<body>
<div>
    <button onclick="location.href='main.php'">Вернуться</button> <?php if (!empty($status)) err($status); ?></div>
<table style="width: 100%">
    <tr>
        <td>
            <p style="width: 50%; vertical-align: top;" rowspan=2>
            <h3><img src="./i/klan/<?= $klan['short'] ?>.gif"><?= $klan['name'] ?></h3>
            Количество рейтинговых очков клана: <span
                    style="color: #428f21; font-size: larger;"><?= $klan['rating'] ?></span><br>

            <?php if ($polno[$user['id']][0] == 1): ?>
                <div>
                    <span id="add_member">
                        <input type="submit" onclick="use('add_member')" value="Принять в клан">
                    </span>
                    (стоимость услуги: <B>100</B> кр.)
                </div>
                <div>
                    <span id="remove_member">
                        <input type="submit" onclick="use('remove_member')" value="Выгнать из клана">
                    </span>
                    (стоимость услуги: <B>30</B> кр.)
                </div>
            <?php endif; ?>

            <?php if ($polno[$user['id']][1] == 1 OR $klan['glava'] == $user['id']): ?>
                <?php if (!empty($login) AND $action == 'edit_status' AND $sok['id'] != $klan['glava']): ?>
                    <form method='post'>
                        <input placeholder='Статус' name='new_status'>
                        <input type="hidden" name="login" value="<?= $login ?>">
                        <?php if ($klan['glava'] == $user['id']): ?>
                            <?php if ($polno[$sok['id']][0] == 1): ?>
                                <br><input type=checkbox name=vin checked> Может принимать/выгонять членов клана
                            <?php else: ?>
                                <br><input type=checkbox name=vin> Может принимать/выгонять членов клана
                            <?php endif; ?>
                            <?php if ($polno[$sok['id']][1] == 1): ?>
                                <br><input type=checkbox name=tus checked> Может менять статус членов клана
                            <?php else: ?>
                                <br><input type=checkbox name=tus> Может менять статус членов клана
                            <?php endif; ?>
                        <?php endif; ?>
                        <button name='action' value='edit_status' type='submit'>Ок</button>
                        <button>×</button>
                    </form>
                <?php else: ?>
                    <div>
                        <span id="edit_status">
                            <input type="submit" onclick="use('edit_status')" value="Редактировать статус">
                        </span>
                    </div>
                <?php endif; ?>
            <?php endif; ?>

            <?php if ($klan['glava'] == $user['id']): ?>
                <div>
                    <span id="change_owner">
                        <input type="submit" onclick="use('change_owner')" value="Сменить главу клана">
                    </span>
                    (сложить с себя полномочия, назначив <b style="color: teal;">Главой Клана</b> другого персонажа)
                </div>
                <?php if (empty($klan['zamok'])): ?>
                    <?php if ($klan['rating'] < 1000000): ?>
                        Недостаточно рейтинга для постройки замка. <?= showProgressBar($klan['rating'], 1000000) ?>
                    <?php else: ?>
                        <form method="post">
                            <button type="submit" name="zamok" value="zamok">Построить Замок</button>
                            (собрать силами всего клана 25000 кр.)<BR>
                        </form>
                    <?php endif; ?>
                <?php endif; ?>
            <?php endif; ?>

            <?php if ($klan['zamok'] == 1): ?>
                <p>
                <?php if ($klan['zbor'] < 25000): ?>
                    Сбор средств на постройку кланового замка:
                    <?= showProgressBar($klan['zbor'], 25000) ?>
                    <form method="post">
                        <input name="kolv" size="10">
                        <button type="submit" name="kr" value="kr">Пожертвовать</button>
                    </form>
                <?php else: ?>
                    Средства на постройку кланового замка собраны!
                    <?= showProgressBar(25000, 25000) ?>
                <?php endif; ?>
            <?php endif; ?>
        </td>
        <td style="vertical-align: top;">
            <h3>Соклановцы</h3>
            <table class="zebra" style="width: 100%;">
                <tr>
                    <th>Имя</th>
                    <th>Статус</th>
                    <th>Местонахождение</th>
                </tr>
                <?php
                while ($row = $clan_memberlist->fetch_assoc()):
                    if ($row['id'] == $klan['glava']) $row['status'] = '<b style="color: #008080;">Глава клана</b>';
                    if (empty($row['status'])) $row['status'] = 'Боец';
                    if (empty($row['online'])) $rrm = 'Персонаж не в игре';
                    elseif ($row['room'] > 500 AND $row['room'] < 561) $rrm = 'Башня смерти';
                    else $rrm = $rooms[$row['room']];
                    ?>
                    <tr>
                        <td><?= nick::id($row['id'])->full() ?></td>
                        <td><?= $row['status'] ?></td>
                        <td><i style="font-size: smaller;"><?= $rrm ?></i></td>
                    </tr>
                <?php endwhile; ?>
            </table>
        </td>
    </tr>
</table>
<script type="text/javascript">
    function use(option) {
        document.getElementById(option).innerHTML = "<form method='post'><input placeholder='Имя персонажа' name='login'><button name='action' value='" + option + "' type='submit'>Ок</button><button>×</button></form>";
    }
</script>
</body>
</html>