264 lines
15 KiB
PHP
264 lines
15 KiB
PHP
<?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;
|
||
|
||
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: klan.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: klan.php");
|
||
} else $status = 'Не хватает денег!';
|
||
}
|
||
|
||
?>
|
||
<!doctype html>
|
||
<html>
|
||
<head>
|
||
<link rel=stylesheet href="css/main.css">
|
||
<meta charset="utf-8">
|
||
</head>
|
||
<body>
|
||
<div id=hint3 class=ahint><?php if (!empty($status)) err($status); ?></div>
|
||
<table style="width: 100%">
|
||
<tr>
|
||
<td style="width: 50%; vertical-align: top;" rowspan=2>
|
||
<h3><img src="./i/klan/<?= $klan['short'] ?>.gif"><?= $klan['name'] ?></h3>
|
||
Количество рейтинговых очков клана: <b><?= $klan['rating'] ?></b><br>
|
||
<?php
|
||
if ($klan['zamok'] == 2) echo 'У Вашего клана есть Замок<br><br>';
|
||
else echo 'У клана пока нет Замка<br><br>';
|
||
?>
|
||
|
||
<span id="add_member"><input type="submit" onclick="use('add_member')" value="Принять в клан"></span>
|
||
<?php
|
||
|
||
if (!empty($_POST['login'])) {
|
||
$sok = db::c()->query('SELECT * FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $user['id'])->fetch_assoc();
|
||
}
|
||
|
||
if ($klan['glava'] == $user['id'] OR $polno[$user['id']][0] == 1 OR $polno[$user['id']][1] == 1) {
|
||
echo "<form method=post>";
|
||
if ($polno[$user['id']][0] == 1) echo '<INPUT TYPE="button" onclick="findlogin(\'Принять в клан\', \'login2\');" value="Принять в клан" title="Принять в клан"> (это вам обойдется в <B>100</B> кр.)<BR>
|
||
<INPUT TYPE="button" onclick="findlogin(\'Выгнать из клана\', \'login1\');" value="Выгнать из клана" title="Выгнать из клана"> (это вам обойдется в <B>30</B> кр.)<BR>';
|
||
if ($klan['glava'] == $user['id']) echo '<INPUT TYPE="button" onclick="findlogin(\'Сменить главу клана\', \'login3\');" value="Сменить главу клана" title="Сменить главу клана"> (<b>Вы</b> вправе сложить с себя полномочия, назначив <b>Главой Клана</b> другого персонажа)<BR>';
|
||
if ($polno[$user['id']][1] == 1 OR $klan['glava'] == $user['id']) echo '<INPUT TYPE="button" onclick="findlogin(\'Редактировать статус соклановца\', \'login\');" value="Редактировать статус соклановца" title="Редактировать статус соклановца"><BR>';
|
||
if (($klan['glava'] == $user['id']) AND ($klan['zamok'] == '0')) {
|
||
|
||
if ($klan['rating'] < '1000000') {
|
||
echo sprintf('[%s/1000000] Недостаточно рейтинга для постройки кланового замка.', $klan['rating']);
|
||
} else {
|
||
echo '
|
||
<form method="post">
|
||
<button type="submit" name="zamok" value="zamok">Сбор средств на постройку Замка</button>
|
||
(25000 кр.)<BR>
|
||
</FORM>';
|
||
}
|
||
}
|
||
|
||
if (($klan['zbor'] >= '25000') AND ($klan['zamok'] == '1') AND ($klan['glava'] == $user['id'])) {
|
||
err('Сумма собрана, но замки ещё не введены в игру. 🙁');
|
||
}
|
||
|
||
if ($klan['rating'] >= '1000000' AND $klan['zamok'] == 1 AND $klan['zbor'] < '25000') {
|
||
$ex = $klan['zbor'];
|
||
echo "Сбор средств на постройку кланового замка: $ex кр./25000 кр.<BR>";
|
||
echo '
|
||
<FORM method="post">
|
||
<input name="kolv" size="10">
|
||
<button type="submit" name="kr" value="kr">Пожертвовать</button>
|
||
</FORM>';
|
||
}
|
||
|
||
if ($_POST['login']) {
|
||
$sok = db::c()->query('SELECT `id`, `status` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $user['id'])->fetch_assoc();
|
||
$st = strip_tags(str_replace("<", "<", str_replace(">", ">", $_POST['status'])), "<B><I><U>");
|
||
if ($klan['glava'] == $sok['id']) {
|
||
$st = "<font color=#008080><b>Глава клана</b></font>";
|
||
}
|
||
if ($sok) {
|
||
if ($_POST['save']) {
|
||
if ($_POST['vin'] == 'on') {
|
||
$polno[$sok['id']][0] = 1;
|
||
} else {
|
||
$polno[$sok['id']][0] = 0;
|
||
}
|
||
if ($_POST['tus'] == 'on') {
|
||
$polno[$sok['id']][1] = 1;
|
||
} else {
|
||
$polno[$sok['id']][1] = 0;
|
||
}
|
||
|
||
db::c()->query('UPDATE `users` SET `status` = "?s" WHERE `id` = ?i', $st, $sok['id']);
|
||
|
||
if ($klan['glava'] == $user['id']) {
|
||
db::c()->query('UPDATE `clans` SET `vozm` = "?s" WHERE `id` = ?i', serialize($polno), $klan['id']);
|
||
}
|
||
$sok['status'] = $st;
|
||
}
|
||
echo '<BR><fieldset ><legend>Редактирование статуса "',$user['id'], '"</legend>
|
||
Звание в клане <input type=text value="', $sok['status'], '" name=status><BR>';
|
||
if ($klan['glava'] == $user['id']) {
|
||
echo '<input type=checkbox name=vin ';
|
||
if ($polno[$sok['id']][0] == 1) {
|
||
echo ' checked ';
|
||
}
|
||
echo '>Может принимать/выгонять членов клана<BR>
|
||
<input type=checkbox name=tus ';
|
||
if ($polno[$sok['id']][1] == 1) {
|
||
echo ' checked ';
|
||
}
|
||
echo '>Может менять статус членов клана<BR>';
|
||
}
|
||
echo '<input type=hidden value="', $sok['login'], '" name=login><input type=submit value="Сохранить" name=save></fieldset>';
|
||
}
|
||
|
||
|
||
}
|
||
if ($_POST['login3'] && $klan['glava'] == $user['id']) {
|
||
$sok = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `klan` = \'' . $klan['id'] . '\' AND `login` = \'' . $_POST['login3'] . '\' LIMIT 1;'));
|
||
//mysql_query('update `users` set `money` = `money` - 30 WHERE `id` = '.$_SESSION['uid'].';');
|
||
//mysql_query('update `users` set `klan` = \'\', `align` = 0 WHERE `id` = '.$sok['id'].';');
|
||
mysql_query('update `clans` set `glava` = \'' . $sok['id'] . '\' WHERE `id` = ' . $klan['id'] . ';');
|
||
mysql_query('update `users` set `status` = \'<font color=#008080><b>Глава клана</b></font>\' WHERE `id` = ' . $sok['id'] . ';');
|
||
mysql_query('update `users` set `status` = \'боец\' WHERE `id` = ' . $user['id'] . ';');
|
||
$klan['glava'] = $sok['id'];
|
||
}
|
||
if ($_POST['login2'] && $polno[$user['id']][0] == 1) {
|
||
$sok = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `klan` = \'\' AND `align` = \'0\' AND `login` = \'' . $_POST['login2'] . '\' LIMIT 1;'));
|
||
$eff = mysql_fetch_array(mysql_query("SELECT * FROM `effects` WHERE `owner` = '" . $sok['id'] . "' AND `type` = 20 LIMIT 1;"));
|
||
if (!$eff) {
|
||
echo "Нет проверки!";
|
||
} elseif ($sok['level'] > 0 && $user['money'] >= 100) {
|
||
echo 'Персонаж "', $sok['login'], '" успешно принят в клан.';
|
||
mysql_query('update `users` set `money` = `money` - 100 WHERE `id` = ' . $_SESSION['uid'] . ';');
|
||
mysql_query('update `users` set `status`= \'боец\', `klan` = \'' . $klan['id'] . '\', `align` = \'' . $klan['align'] . '\' WHERE `id` = ' . $sok['id'] . ';');
|
||
} else {
|
||
echo "Не хватает денег, или его попросту не существует.";
|
||
}
|
||
}
|
||
if ($_POST['login1'] && $polno[$user['id']][0] == 1) {
|
||
$sok = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `klan` = \'' . $klan['id'] . '\' AND `login` = \'' . $_POST['login1'] . '\' LIMIT 1;'));
|
||
if ($sok && $user['money'] >= 30 && $klan['glava'] != $sok['id']) {
|
||
echo 'Персонаж "', $sok['login'], '" покинул клан.';
|
||
mysql_query('update `users` set `money` = `money` - 30 WHERE `id` = ' . $_SESSION['uid'] . ';');
|
||
mysql_query('update `users` set `klan` = \'\', `align` = 0 WHERE `id` = ' . $sok['id'] . ';');
|
||
}
|
||
}
|
||
} else {
|
||
echo 'У вашего клана нет реликтов, или глава клана вам их не предоставил. ;)';
|
||
}
|
||
?>
|
||
|
||
</td>
|
||
|
||
<td align=right>
|
||
<INPUT TYPE="button" onClick="location.href='main.php';" value="Вернуться" title="Вернуться">
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td valign=top>
|
||
<h3><a href="javascript:top.AddToPrivate('klan', top.CtrlPress)" target=refreshed><img src="i/lock.gif"></a>
|
||
Соклановцы
|
||
</h3>
|
||
<table bgcolor=#eeeeee>
|
||
<tr>
|
||
<td>
|
||
<?php
|
||
$data = 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']);
|
||
while ($row = $data->fetch_assoc()) {
|
||
if ($row['online'] > 0) {
|
||
echo '💡 <A HREF="javascript:top.AddToPrivate(\'', nick::id($row['id'])->short(), '\', top.CtrlPress)" target=refreshed><img src="i/lock.gif" width=20 height=15></A>';
|
||
echo nick::id($row['id'])->full();
|
||
if ($row['id'] == $klan['glava']) {
|
||
echo ' - <b style="color: #008080;">Глава клана</b>';
|
||
} else {
|
||
echo ' - ', $row['status'], '';
|
||
}
|
||
if ($row['room'] > 500 && $row['room'] < 561) {
|
||
$rrm = 'Башня смерти, участвует в турнире';
|
||
} else {
|
||
$rrm = $rooms[$row['room']];
|
||
}
|
||
echo ' - <i>', $rrm, '</i><BR>';
|
||
} else if ($row['online'] < 1) {
|
||
echo '<img src="i/lock1.gif" width=20 height=15>';
|
||
echo nick::id($row['id'])->full();
|
||
if ($row['id'] == $klan['glava']) {
|
||
echo ' - <b style="color: #008080;">Глава клана</b>';
|
||
} else {
|
||
echo ' - ', $row['status'], '';
|
||
}
|
||
}
|
||
}
|
||
?>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<script type="text/javascript">
|
||
function show(ele) {
|
||
var srcElement = document.getElementById(ele);
|
||
if (srcElement != null) {
|
||
if (srcElement.style.display == "block") {
|
||
srcElement.style.display = 'none';
|
||
}
|
||
else {
|
||
srcElement.style.display = 'block';
|
||
}
|
||
}
|
||
}
|
||
|
||
var Hint3Name = '';
|
||
|
||
// Заголовок, название скрипта, имя поля с логином
|
||
function findlogin(title, name) {
|
||
document.all("hint3").innerHTML = '<table><tr><td align=center><B>' + title + '</td><td width=20 align=right valign=top style="cursor: pointer" onclick="closehint3();"><BIG><B>x</td></tr><tr><td colspan=2>' +
|
||
'<form method=POST><table width=100% cellspacing=0 cellpadding=2 bgcolor=FFF6DD><tr><INPUT TYPE=hidden name=sd4 value="6"><td colspan=2>' +
|
||
'Укажите логин персонажа:<small></TD></TR><TR><TD width=50% align=right><INPUT TYPE=text NAME="' + name + '"></TD><TD width=50%><INPUT TYPE="submit" value=" »» "></TD></TR></TABLE></FORM></td></tr></table>';
|
||
document.all("hint3").style.visibility = "visible";
|
||
document.all("hint3").style.left = 100;
|
||
document.all("hint3").style.top = 100;
|
||
document.all(name).focus();
|
||
Hint3Name = name;
|
||
}
|
||
|
||
function returned2(s) {
|
||
if (top.oldlocation != '') {
|
||
top.frames['main'].location = top.oldlocation + '?' + s + 'tmp=' + Math.random();
|
||
top.oldlocation = '';
|
||
}
|
||
else {
|
||
top.frames['main'].location = 'main.php?edit=' + Math.random()
|
||
}
|
||
}
|
||
|
||
function closehint3() {
|
||
document.all("hint3").style.visibility = "hidden";
|
||
Hint3Name = '';
|
||
}
|
||
|
||
function use(option) {
|
||
document.getElementById(option).innerHTML = "<form method='post'><input placeholder='Имя персонажа' name='login'><button name='"+option+"' type='submit'>Ок</button></form>";
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|