Чистка оптимизация и унификация кода.
This commit is contained in:
+99
-80
@@ -1,56 +1,75 @@
|
||||
<?php
|
||||
session_start();
|
||||
if (empty($_SESSION['uid'])) {header("Location: index.php");}
|
||||
if (empty($_SESSION['uid'])) {
|
||||
header("Location: index.php");
|
||||
}
|
||||
require_once("functions.php");
|
||||
$d = db::c()->query('SELECT SUM(`massa`) FROM `inventory` WHERE `dressed` = 0 AND `owner` = ?i', $_SESSION['uid'])->fetch_assoc();
|
||||
if ($user['room'] != 23) {
|
||||
if ($user->room != 23) {
|
||||
header("Location: main.php");
|
||||
die();
|
||||
exit();
|
||||
}
|
||||
if ($user['battle'] != 0) {
|
||||
if ($user->battle) {
|
||||
header('location: fbattle.php');
|
||||
die();
|
||||
exit();
|
||||
}
|
||||
define('GRAV_LIMIT', 32);
|
||||
define('GRAV_COST', 30);
|
||||
define('REPAIR_STATUS', [
|
||||
'OK_GRAV_ADDED' => 'Гравировка добавлена!',
|
||||
'OK_GRAV_REMOVED' => 'Гравировка удалена!',
|
||||
'OK_REPAIRED' => 'Предмет отремонтирован!',
|
||||
'ERROR_SIZE_LIMIT' => 'Превышен лимит в ' . GRAV_LIMIT . ' символа!',
|
||||
'ERROR_NO_MONEY' => 'Недостаточно денег!',
|
||||
]);
|
||||
$gravirovkaText = $_POST['gravirovka_text'] ?? null;
|
||||
$itemId = $_POST['itemId'] ?? null;
|
||||
$gravirovkaRemove = $_POST['gravirovka_remove'] ?? null;
|
||||
$action = $_POST['action'] ?? null;
|
||||
$goto = $_POST['goto'] ?? null;
|
||||
|
||||
// Гравировка 30 кред. Максимум 32 символа.
|
||||
if (input::post('gravirovka_text') AND input::post('itemId')) {
|
||||
if (30 <= $user['money']) {
|
||||
if (33 > iconv_strlen(input::post('gravirovka_text'))) {
|
||||
db::c()->query('UPDATE `inventory` SET `text` = "?s" WHERE `dressed` = 0 AND `setsale` = 0 AND `owner` = ?i AND `id` = ?i', input::post('gravirovka_text'), $_SESSION['uid'], input::post('itemId'));
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - 30 WHERE `id` = ?i', $_SESSION['uid']);
|
||||
$status = 'Гравировка добавлена!';
|
||||
} else {$status = 'Превышен лимит в 32 символа!';}
|
||||
} else {$status = 'Недостаточно денег!';}
|
||||
if ($gravirovkaText && $itemId) {
|
||||
if ($user->money >= GRAV_COST) {
|
||||
if (iconv_strlen($gravirovkaText) <= GRAV_LIMIT) {
|
||||
db::c()->query('UPDATE `inventory` SET `text` = "?s" WHERE `dressed` = 0 AND `setsale` = 0 AND `owner` = ?i AND `id` = ?i', $gravirovkaText, $_SESSION['uid'], $itemId);
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', GRAV_COST, $_SESSION['uid']);
|
||||
$status = REPAIR_STATUS['OK_GRAV_ADDED'];
|
||||
} else {
|
||||
$status = REPAIR_STATUS['ERROR_SIZE_LIMIT'];
|
||||
}
|
||||
} else {
|
||||
$status = REPAIR_STATUS['ERROR_NO_MONEY'];
|
||||
}
|
||||
}
|
||||
|
||||
// Снять гравировку.
|
||||
if (input::post('gravirovka_remove')) {
|
||||
if (30 <= $user['money']) {
|
||||
db::c()->query('UPDATE `inventory` SET `text` = ?n WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', null, input::post('gravirovka_remove'), $_SESSION['uid']);
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - 30 WHERE `id` = ?i', $_SESSION['uid']);
|
||||
$status = 'Гравировка удалена!';
|
||||
} else {$status = 'Недостаточно денег!';}
|
||||
if ($gravirovkaRemove) {
|
||||
if ($user->money >= GRAV_COST) {
|
||||
db::c()->query('UPDATE `inventory` SET `text` = ?n WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', null, $gravirovkaRemove, $_SESSION['uid']);
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', GRAV_COST, $_SESSION['uid']);
|
||||
$status = REPAIR_STATUS['OK_GRAV_REMOVED'];
|
||||
} else {
|
||||
$status = REPAIR_STATUS['ERROR_NO_MONEY'];
|
||||
}
|
||||
}
|
||||
|
||||
// Ремонт 0,5 кред за единицу.
|
||||
if (input::post('action') == 'repair' AND input::post('itemId')) {
|
||||
$q = db::c()->query('SELECT `name`, `duration` FROM `inventory` WHERE id = ?i', input::post('itemId'))->fetch_assoc();
|
||||
if (ceil($q['duration'] / 2) < $user['money']) {
|
||||
db::c()->query('UPDATE `inventory` SET `maxdur` = `maxdur` - 1, `duration` = 0 WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', input::post('itemId'), $_SESSION['uid']);
|
||||
if ($action == 'repair' && $itemId) {
|
||||
$q = db::c()->query('SELECT `name`, `duration` FROM `inventory` WHERE id = ?i', $itemId)->fetch_assoc();
|
||||
if ($user->money > ceil($q['duration'] / 2)) {
|
||||
db::c()->query('UPDATE `inventory` SET `maxdur` = `maxdur` - 1, `duration` = 0 WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', $itemId, $_SESSION['uid']);
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', ceil($q['duration'] / 2), $_SESSION['uid']);
|
||||
addToDelo('Отремонтирован предмет «' . $q['name'] . '» id:(' . input::post('itemId') . ') за ' . ceil($q['duration'] / 2) . ' кр.');
|
||||
$status = 'Предмет отремонтирован!';
|
||||
} else {$status = 'Недостаточно денег!';}
|
||||
addToDelo('Отремонтирован предмет «' . $q['name'] . '» id:(' . $itemId . ') за ' . ceil($q['duration'] / 2) . ' кр.');
|
||||
$status = REPAIR_STATUS['OK_REPAIRED'];
|
||||
} else {
|
||||
$status = REPAIR_STATUS['ERROR_NO_MONEY'];
|
||||
}
|
||||
}
|
||||
|
||||
if (input::post('goto') == 'remont') {
|
||||
if ($goto == 'remont') {
|
||||
$remont_query = db::c()->query('SELECT `id`,`name`,`img`,`duration`,`maxdur` FROM `inventory` WHERE `type` < 12 AND `dressed` = 0 AND `isrep` = 1 AND `setsale` = 0 AND `duration` > 0 AND `owner` = ?i ORDER BY `update` DESC', $_SESSION['uid']);
|
||||
}
|
||||
|
||||
if (input::post('goto') == 'gravirovka') {
|
||||
if ($goto == 'gravirovka') {
|
||||
$gravirovka_query = db::c()->query('SELECT `id`,`name`,`img`,`text` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `type` = 3 AND `name` NOT LIKE "?S" AND `setsale` = 0 OR `text` <> "?s" AND `owner` = ?i AND `dressed` = 0 AND `setsale` = 0 ORDER by `update` DESC', $_SESSION['uid'], '%Букет%', '', $_SESSION['uid']);
|
||||
}
|
||||
|
||||
?>
|
||||
<!doctype html>
|
||||
<HTML lang="ru">
|
||||
@@ -82,7 +101,7 @@ if (input::post('goto') == 'gravirovka') {
|
||||
<span class="legend">Зал гравировки</span>
|
||||
<form method="post">
|
||||
<input type="hidden" name="goto" value="gravirovka">
|
||||
<input type="submit" value="Войти">
|
||||
<input type="submit" value="Войти" disabled>
|
||||
</form>
|
||||
<span class="wrap">Нанесение надписей на оружие и удаление надписей из любого обмундирования.
|
||||
Максимум 32 символа!</span>
|
||||
@@ -92,7 +111,7 @@ if (input::post('goto') == 'gravirovka') {
|
||||
<span class="wrap"><?= $status ?></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php if (input::post('goto') == 'remont'):
|
||||
<?php if ($goto == 'remont'):
|
||||
while ($row = $remont_query->fetch_assoc()): ?>
|
||||
<div class="appblock">
|
||||
<span class="legend"><?= $row['name'] ?></span>
|
||||
@@ -109,7 +128,7 @@ if (input::post('goto') == 'gravirovka') {
|
||||
</div>
|
||||
<?php endwhile; endif; ?>
|
||||
|
||||
<?php if (input::post('goto') == 'gravirovka'):
|
||||
<?php if ($goto == 'gravirovka'):
|
||||
while ($row = $gravirovka_query->fetch_assoc()): ?>
|
||||
<div class="appblock">
|
||||
<span class="legend"><?= $row['name'] ?></span>
|
||||
@@ -135,53 +154,53 @@ if (input::post('goto') == 'gravirovka') {
|
||||
<?php endwhile; endif; ?>
|
||||
|
||||
<?php
|
||||
if (input::post('goto') == 'modding') {
|
||||
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$_SESSION['uid']}' AND `dressed` = 0 AND `name` NOT LIKE '% (мф)%' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
|
||||
while ($row = mysql_fetch_array($data)) {
|
||||
?>
|
||||
<TR bgcolor=<?= $color ?>>
|
||||
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
|
||||
<BR>
|
||||
<small>
|
||||
<A HREF="?razdel=3&mf=<?= $row['id'] ?>"
|
||||
onClick="if(!confirm('Вы действительно хотите модифицировать эту вещь?')){ return false;}">Модифицировать
|
||||
за <?= $row['cost'] ?> кр.</A><BR>
|
||||
</small>
|
||||
</TD>
|
||||
<TD valign=top><?php #showitem($row) ?></TD>
|
||||
</TR>
|
||||
<?php
|
||||
}
|
||||
if ($goto == 'modding') {
|
||||
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$_SESSION['uid']}' AND `dressed` = 0 AND `name` NOT LIKE '% (мф)%' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
|
||||
while ($row = mysql_fetch_array($data)) {
|
||||
?>
|
||||
<TR bgcolor=<?= $color ?>>
|
||||
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
|
||||
<BR>
|
||||
<small>
|
||||
<A HREF="?razdel=3&mf=<?= $row['id'] ?>"
|
||||
onClick="if(!confirm('Вы действительно хотите модифицировать эту вещь?')){ return false;}">Модифицировать
|
||||
за <?= $row['cost'] ?> кр.</A><BR>
|
||||
</small>
|
||||
</TD>
|
||||
<TD valign=top><?php #showitem($row) ?></TD>
|
||||
</TR>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
if (input::post('goto') == 'podgon') {
|
||||
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$user['id']}' AND `dressed` = 0 AND `modif`='1' AND `podgon`<'5' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
|
||||
while ($row = mysql_fetch_array($data)) {
|
||||
?>
|
||||
<TR bgcolor=<?= $color ?>>
|
||||
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
|
||||
<BR>
|
||||
<small>
|
||||
<?
|
||||
if ($row['point'] > 0) {
|
||||
$babki = round(($row['point'] / 2), 0);
|
||||
$cost_t = 'Реп';
|
||||
} else {
|
||||
$babki = round(($row['cost'] / 2), 0);
|
||||
$cost_t = 'Кр';
|
||||
}
|
||||
?>
|
||||
<A HREF="?razdel=4&podgon=<?= $row['id'] ?>"
|
||||
onclick="if(!confirm('Вы действительно хотите подогнать эту вещь?')){ return false;}">Подогнать
|
||||
за <?= $babki ?> <?= $cost_t ?>.</A><BR>
|
||||
</small>
|
||||
</TD>
|
||||
<TD valign=top><?php #showitem($row) ?></TD>
|
||||
</TR>
|
||||
<?php
|
||||
}
|
||||
if ($goto == 'podgon') {
|
||||
$data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$user['id']}' AND `dressed` = 0 AND `modif`='1' AND `podgon`<'5' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
|
||||
while ($row = mysql_fetch_array($data)) {
|
||||
?>
|
||||
<TR bgcolor=<?= $color ?>>
|
||||
<TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
|
||||
<BR>
|
||||
<small>
|
||||
<?
|
||||
if ($row['point'] > 0) {
|
||||
$babki = round(($row['point'] / 2), 0);
|
||||
$cost_t = 'Реп';
|
||||
} else {
|
||||
$babki = round(($row['cost'] / 2), 0);
|
||||
$cost_t = 'Кр';
|
||||
}
|
||||
?>
|
||||
<A HREF="?razdel=4&podgon=<?= $row['id'] ?>"
|
||||
onclick="if(!confirm('Вы действительно хотите подогнать эту вещь?')){ return false;}">Подогнать
|
||||
за <?= $babki ?> <?= $cost_t ?>.</A><BR>
|
||||
</small>
|
||||
</TD>
|
||||
<TD valign=top><?php #showitem($row) ?></TD>
|
||||
</TR>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
}
|
||||
?>
|
||||
</TABLE>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user