надеюсь разнес логику полностью

This commit is contained in:
lopar 2019-06-22 17:05:14 +03:00
parent ae6e7e4b21
commit 461cdaa52e
1 changed files with 49 additions and 65 deletions

114
clan.php
View File

@ -48,7 +48,7 @@ if (!empty($_POST['login']) AND $_POST['action'] == 'remove_member' AND $polno[$
}
}
if (!empty($_POST['login']) AND $_POST['action'] == 'change_owner' AND $klan['glava'] == $_SESSION['uid']) { //смена главы
if (!empty($_POST['login']) AND $_POST['action'] == 'change_owner' AND $klan['glava'] == $_SESSION['uid']) {
$sok = db::c()->query('SELECT `id` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $_POST['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']);
@ -56,6 +56,26 @@ if (!empty($_POST['login']) AND $_POST['action'] == 'change_owner' AND $klan['gl
$klan['glava'] = $sok['id'];
}
if (!empty($_POST['login']) AND $_POST['action'] == 'edit_status') {
$sok = db::c()->query('SELECT `id`, `status` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $_POST['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']);
}
if ((!empty($_POST['vin']) OR !empty($_POST['tus'])) AND $klan['glava'] == $_SESSION['uid']) {
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 `clans` SET `vozm` = "?s" WHERE `id` = ?i', serialize($polno), $klan['id']);
}
$sok['status'] = $st;
} 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']);
?>
@ -92,11 +112,32 @@ $clan_memberlist = db::c()->query('SELECT `id`, `login`, `status`, `level`, `roo
<?php endif; ?>
<?php if ($polno[$user['id']][1] == 1 OR $klan['glava'] == $user['id']): ?>
<div>
<span id="edit_status">
<input type="submit" onclick="use('edit_status')" value="Редактировать статус">
</span>
</div>
<?php if (!empty($_POST['login']) AND $_POST['action'] == 'edit_status'): ?>
<form method='post'>
<input placeholder='Статус' name='new_status'>
<input type="hidden" name="login" value="<?= $_POST['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']): ?>
@ -132,65 +173,7 @@ $clan_memberlist = db::c()->query('SELECT `id`, `login`, `status`, `level`, `roo
<?= showProgressBar(25000, 25000) ?>
<?php endif; ?>
<?php endif; ?>
<?php
if ($klan['glava'] == $user['id'] OR $polno[$user['id']][0] == 1 OR $polno[$user['id']][1] == 1) {
echo "<form method=post>";
if (!empty($_POST['login']) AND $_POST['action'] == 'edit_status') {
$sok = db::c()->query('SELECT `id`, `status` FROM `users` WHERE `klan` = "?s" AND `login` = "?s"', $klan['id'], $_POST['login'])->fetch_assoc();
if (!empty($_POST['status'])) {
$st = strip_tags(str_replace("&lt;", "<", str_replace("&gt;", ">", $_POST['status'])), "<B><I><U>");
}
if ($sok AND $sok['id'] != $klan['glava']) {
if (!empty($_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>Редактирование статуса "', $_POST['login'], '"</legend>
Звание в клане <input 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>';
} elseif ($sok['id'] == $klan['glava']) {
echo '<fieldset ><legend>Редактирование статуса "', $_POST['login'], '"</legend>
Звание в клане <input disabled value="Глава клана"><BR>
<input type=checkbox disabled checked> Может принимать/выгонять членов клана <br>
<input type=checkbox disabled checked> Может менять статус членов клана <br>';
} else $status = 'Персонаж не найден или не состоит в клане!';
}
}
?>
</td>
<td style="vertical-align: top;">
<h3>Соклановцы</h3>
<table class="zebra" style="width: 100%;">
@ -203,7 +186,8 @@ $clan_memberlist = db::c()->query('SELECT `id`, `login`, `status`, `level`, `roo
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 ($row['room'] > 500 AND $row['room'] < 561 AND $row['online'] > 0) $rrm = 'Башня смерти';
if (empty($row['online'])) $rrm = 'Персонаж не в игре';
elseif ($row['room'] > 500 AND $row['room'] < 561) $rrm = 'Башня смерти';
else $rrm = $rooms[$row['room']];
?>
<tr>