2018-01-28 18:40:49 +02:00
< ? php
ob_start ( " ob_gzhandler " );
2018-03-03 13:50:13 +02:00
session_start ();
if ( $_SESSION [ 'uid' ] == null ) header ( " Location: index.php " );
include_once 'config.php' ;
include_once 'functions.php' ;
2019-06-21 00:48:46 +03:00
$status = null ;
2019-06-22 17:10:37 +03:00
$action = filter_input ( INPUT_POST , 'action' );
$login = filter_input ( INPUT_POST , 'login' );
2018-03-03 19:16:13 +02:00
2018-03-03 14:29:30 +02:00
if ( ! $user [ 'klan' ]) {
2018-03-03 13:50:13 +02:00
die ( err ( 'Вы не состоите в клане!' ));
}
2018-03-03 22:56:05 +02:00
$klan = db :: c () -> query ( 'SELECT * FROM `clans` WHERE `id` = ?i' , $user [ 'klan' ]) -> fetch_assoc ();
2018-03-03 14:29:30 +02:00
$polno = [];
2018-03-03 13:50:13 +02:00
$polno = unserialize ( $klan [ 'vozm' ]);
2019-06-21 00:48:46 +03:00
if ( isset ( $_POST [ 'zamok' ])) {
db :: c () -> query ( 'UPDATE `clans` SET `zamok` = 1 WHERE `glava` = ?i' , $_SESSION [ 'uid' ]);
$status = " Начат сбор средств на строительство Кланового Замка. " ;
2019-06-21 17:35:09 +03:00
header ( " Location: clan.php " );
2019-06-21 00:48:46 +03:00
}
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' ]);
2019-06-21 17:35:09 +03:00
header ( " Location: clan.php " );
2019-06-21 00:48:46 +03:00
} else $status = 'Не хватает денег!' ;
}
2019-06-22 17:10:37 +03:00
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 ();
2019-06-21 02:37:39 +03:00
$proverka = db :: c () -> query ( 'SELECT 1 FROM `effects` WHERE `type` = 20 AND `owner` = ?i' , $sok [ 'id' ]) -> getNumRows ();
if ( ! $proverka ) echo " Нет проверки! " ;
2019-06-22 13:24:29 +03:00
elseif ( ! empty ( $sok [ 'klan' ])) echo 'Персонаж уже состоит в клане!' ;
2019-06-21 02:37:39 +03:00
elseif ( $sok [ 'level' ] > 0 && $user [ 'money' ] >= 100 ) {
2019-06-21 02:40:39 +03:00
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' ]);
2019-06-22 17:10:37 +03:00
$status = 'Персонаж «' . $login . '» успешно принят в клан.' ;
2019-06-22 13:24:29 +03:00
} else $status = 'Не хватает денег, или персонажа не существует.' ;
2019-06-21 02:37:39 +03:00
}
2019-06-22 17:10:37 +03:00
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 ();
2019-06-21 02:37:39 +03:00
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' ]);
2019-06-22 17:10:37 +03:00
$status = 'Персонаж «' . $login . '» покинул клан.' ;
2019-06-21 02:37:39 +03:00
}
}
2019-06-22 17:10:37 +03:00
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 ();
2019-06-21 02:55:10 +03:00
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' ]);
2019-06-21 02:37:39 +03:00
$klan [ 'glava' ] = $sok [ 'id' ];
}
2019-06-22 17:10:37 +03:00
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 ();
2019-06-22 17:05:14 +03:00
if ( $sok [ 'id' ] != $klan [ 'glava' ]) {
if ( ! empty ( $_POST [ 'new_status' ])) {
$st = strip_tags ( str_replace ( " < " , " < " , str_replace ( " > " , " > " , $_POST [ 'new_status' ])), " <B><I><U> " );
db :: c () -> query ( 'UPDATE `users` SET `status` = "?s" WHERE `id` = ?i' , $st , $sok [ 'id' ]);
2019-06-22 17:13:47 +03:00
$sok [ 'status' ] = $st ;
2019-06-22 17:05:14 +03:00
}
2019-06-22 17:24:20 +03:00
if ( $klan [ 'glava' ] == $_SESSION [ 'uid' ]) {
2019-06-22 17:22:45 +03:00
if ( ! empty ( $_POST [ 'vin' ])) $polno [ $sok [ 'id' ]][ 0 ] = 1 ;
2019-06-22 17:05:14 +03:00
else $polno [ $sok [ 'id' ]][ 0 ] = 0 ;
2019-06-22 17:22:45 +03:00
if ( ! empty ( $_POST [ 'tus' ])) $polno [ $sok [ 'id' ]][ 1 ] = 1 ;
2019-06-22 17:05:14 +03:00
else $polno [ $sok [ 'id' ]][ 1 ] = 0 ;
db :: c () -> query ( 'UPDATE `clans` SET `vozm` = "?s" WHERE `id` = ?i' , serialize ( $polno ), $klan [ 'id' ]);
}
} else $status = 'Главу клана редактировать запрещено!' ;
}
2019-06-22 13:56:52 +03:00
$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' ]);
2018-01-28 18:40:49 +02:00
?>
2018-03-03 13:50:13 +02:00
<!doctype html>
<html>
<head>
<link rel=stylesheet href="css/main.css">
<meta charset="utf-8">
</head>
2018-03-03 14:29:30 +02:00
<body>
2019-06-22 15:49:35 +03:00
<div>
<button onclick="location.href='main.php'">Вернуться</button> <?php if (!empty($status)) err($status); ?></div>
2019-06-21 00:48:46 +03:00
<table style="width: 100%">
2018-03-03 13:50:13 +02:00
<tr>
2019-06-22 15:27:35 +03:00
<td>
<p style="width: 50%; vertical-align: top;" rowspan=2>
2020-08-27 15:17:02 +03:00
<h3><img src="./i/clan/<?= $klan['short'] ?>.gif"><?= $klan['name'] ?></h3>
2019-06-22 15:27:35 +03:00
Количество рейтинговых очков клана: <span
2019-06-22 15:38:22 +03:00
style="color: #428f21; font-size: larger;"><?= $klan['rating'] ?></span><br>
2019-06-22 13:56:52 +03:00
<?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']): ?>
2019-06-22 17:16:50 +03:00
<?php if (!empty($login) AND $action == 'edit_status' AND $sok['id'] != $klan['glava']): ?>
2019-06-22 17:05:14 +03:00
<form method='post'>
<input placeholder='Статус' name='new_status'>
2019-06-22 17:10:37 +03:00
<input type="hidden" name="login" value="<?= $login ?>">
2019-06-22 17:05:14 +03:00
<?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; ?>
2019-06-22 13:56:52 +03:00
<?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>
2019-06-22 15:00:26 +03:00
<?php if (empty($klan['zamok'])): ?>
2019-06-22 15:27:35 +03:00
<?php if ($klan['rating'] < 1000000): ?>
2019-06-22 15:00:26 +03:00
Недостаточно рейтинга для постройки замка. <?= showProgressBar($klan['rating'], 1000000) ?>
<?php else: ?>
<form method="post">
<button type="submit" name="zamok" value="zamok">Построить Замок</button>
(собрать силами всего клана 25000 кр.)<BR>
</form>
<?php endif; ?>
<?php endif; ?>
2019-06-22 13:56:52 +03:00
<?php endif; ?>
2018-03-03 17:52:28 +02:00
2019-06-22 15:27:35 +03:00
<?php if ($klan['zamok'] == 1): ?>
2019-06-22 15:26:14 +03:00
<p>
2019-06-22 15:27:35 +03:00
<?php if ($klan['zbor'] < 25000): ?>
2019-06-22 15:00:26 +03:00
Сбор средств на постройку кланового замка:
<?= showProgressBar($klan['zbor'], 25000) ?>
2019-06-22 15:20:02 +03:00
<form method="post">
<input name="kolv" size="10">
<button type="submit" name="kr" value="kr">Пожертвовать</button>
</form>
2019-06-22 15:00:26 +03:00
<?php else: ?>
Средства на постройку кланового замка собраны!
<?= showProgressBar(25000, 25000) ?>
<?php endif; ?>
<?php endif; ?>
2018-03-03 13:50:13 +02:00
</td>
2019-06-21 18:54:48 +03:00
<td style="vertical-align: top;">
2019-06-21 02:02:30 +03:00
<h3>Соклановцы</h3>
2019-06-22 15:52:55 +03:00
<table class="zebra" style="width: 100%;">
2019-06-22 15:49:35 +03:00
<tr>
<th>Имя</th>
<th>Статус</th>
<th>Местонахождение</th>
</tr>
2019-06-22 15:51:07 +03:00
<?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'] = 'Боец';
2019-06-22 17:05:14 +03:00
if (empty($row['online'])) $rrm = 'Персонаж не в игре';
elseif ($row['room'] > 500 AND $row['room'] < 561) $rrm = 'Башня смерти';
2019-06-22 15:51:07 +03:00
else $rrm = $rooms[$row['room']];
?>
<tr>
2020-08-27 15:17:02 +03:00
<td><?= Nick::id($row['id'])->full() ?></td>
2019-06-22 15:49:35 +03:00
<td><?= $row['status'] ?></td>
<td><i style="font-size: smaller;"><?= $rrm ?></i></td>
2019-06-22 15:51:07 +03:00
</tr>
<?php endwhile; ?>
2019-06-22 15:49:35 +03:00
</table>
2018-03-03 13:50:13 +02:00
</td>
</tr>
2018-01-28 18:40:49 +02:00
</table>
2019-06-21 00:48:46 +03:00
<script type="text/javascript">
function use(option) {
2019-06-21 02:57:48 +03:00
document.getElementById(option).innerHTML = "<form method='post'><input placeholder='Имя персонажа' name='login'><button name='action' value='" + option + "' type='submit'>Ок</button><button>× </button></form>";
2019-06-21 00:48:46 +03:00
}
</script>
2018-01-28 18:40:49 +02:00
</body>
</html>