From a67bd9b37530e9ee2fd64f15db415539e6404c39 Mon Sep 17 00:00:00 2001 From: lopar Date: Fri, 9 Mar 2018 23:12:03 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=B2=D0=BE=D0=B4-=D0=B2=D1=8B=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=20=D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bank.php | 130 +++++++++++++++++++++++++++------------------------ register.php | 2 +- 2 files changed, 69 insertions(+), 63 deletions(-) diff --git a/bank.php b/bank.php index f4c98c4..1760ff5 100644 --- a/bank.php +++ b/bank.php @@ -11,12 +11,15 @@ if ($user['battle'] != 0) { } $cost_login = 25; +$mywarn = ''; ######## ОБЩИЕ ЗАПРОСЫ В БАЗУ ### $bank = db::c()->query('SELECT `id`, `cr`, `ekr` FROM `bank` WHERE `id` = ?i', $_SESSION['uid'])->fetch_assoc(); ################################# - +/** + * Если вдруг нет счёта, создаём. + */ if (!$bank['id']) { db::c()->query('INSERT INTO `bank` (`id`) VALUES (?i)', $_SESSION['uid']); } @@ -36,25 +39,29 @@ if (!$bank['id']) { @@ -100,39 +107,35 @@ if (!$_SESSION['bankid']) { die(); } - if ($_POST['in'] && $_POST['ik']) { - $_POST['ik'] = round($_POST['ik'], 2); - if (is_numeric($_POST['ik']) && ($_POST['ik'] > 0) && ($_POST['ik'] <= $user['money'])) { - $user['money'] -= $_POST['ik']; - if (mysql_query("UPDATE `users` SET `money`=`money`-'" . $_POST['ik'] . "' WHERE `id`=" . $user['id'] . " LIMIT 1;")) { - $mywarn = "Деньги удачно положены на счет"; - mysql_query("UPDATE `bank` SET `cr`=`cr`+'" . $_POST['ik'] . "' WHERE `id`=" . $_SESSION['bankid'] . " LIMIT 1;"); - mysql_query("INSERT INTO `delo`(`id`,`author`,`pers`,`text`,`type`,`date`) VALUES ('','0','" . $_SESSION['uid'] . "','Персонаж " . $user['login'] . " положил на свой счет №" . $_SESSION['bankid'] . " " . $_POST['ik'] . " кр. ',1,'" . time() . "');"); - } else { - $mywarn = "Произошла ошибка!"; - } + + $summa = filter_input(INPUT_POST, 'summa', FILTER_VALIDATE_INT); + + if (isset($_POST['money-in']) && $summa) { + if ($summa > 0 && ($summa <= $user['money'])) { + $user['money'] -= $summa; + db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', $summa, $bank['id']); + db::c()->query('UPDATE `bank` SET `cr` = `cr` + ?i WHERE `id` = ?i', $summa, $bank['id']); + db::c()->query('INSERT INTO `bank_logs` (`user_id`, `sum`, `type`, `comments`, `source`) + VALUES (?i, ?i, "?s", "?s", ?i)', $bank['id'], $summa, 'money-in', 'Банк: Зачисление средств на счёт', $bank['id']); } else { $mywarn = "У вас недостаточно денег для выполнения операции"; } - $_POST['in'] = 0; + $_POST['money-in'] = NULL; + $summa = 0; } - if ($_POST['out'] && $_POST['ok']) { - $_POST['ok'] = round($_POST['ok'], 2); - if (is_numeric($_POST['ok']) && ($_POST['ok'] > 0) && ($_POST['ok'] <= $bank['cr'])) { - $user['money'] += $_POST['ok']; - if (mysql_query("UPDATE `users` SET `money`=`money`+'" . $_POST['ok'] . "' WHERE `id`='" . $user['id'] . "' LIMIT 1;")) { - $mywarn = "Деньги удачно сняты со счета"; - mysql_query("UPDATE `bank` SET `cr`=`cr`-'" . $_POST['ok'] . "' WHERE `id`='" . $_SESSION['bankid'] . "' LIMIT 1;"); - $bank = mysql_fetch_array(mysql_query("SELECT * FROM `bank` WHERE `id`='" . $_SESSION['bankid'] . "';")); - mysql_query("INSERT INTO `delo` (`id`,`author`,`pers`,`text`,`type`,`date`) VALUES ('','0','" . $_SESSION['uid'] . "','Персонаж " . $user['login'] . " снял со своего счета №" . $_SESSION['bankid'] . " " . $_POST['ok'] . " кр.',1,'" . time() . "');"); - } else { - $mywarn = "Произошла ошибка!"; - } + if ($_POST['money-out'] && $summa) { + if ($summa > 0 && ($summa <= $bank['cr'])) { + $user['money'] += $summa; + db::c()->query('UPDATE `bank` SET `cr` = `cr` - ?i WHERE `id` = ?i', $summa, $bank['id']); + db::c()->query('UPDATE `users` SET `money` = `money` + ?i WHERE `id` = ?i', $summa, $bank['id']); + db::c()->query('INSERT INTO `bank_logs` (`user_id`, `sum`, `type`, `comments`, `source`) + VALUES (?i, ?i, "?s", "?s", ?i)', $bank['id'], $summa, 'money-out', 'Банк: Вывод средств на руки', $bank['id']); } else { $mywarn = "У вас недостаточно денег на счету для выполнения операции"; } - $_POST['out'] = 0; + $_POST['money-out'] = NULL; + $summa = 0; } if ($_POST['change'] && $_POST['ok']) { @@ -411,39 +414,42 @@ if (!$_SESSION['bankid']) { err($mywarn); ?> ← выйти из счёта -

Cчет №

+

+ + + + + + + + + + + + +
Кредитов.ЕвроКредитов.

- Денежные средства - Кредитов на руках: кр.
- Кредитов на счету: кр.
- Еврокредитов на счету: екр.
- - - - - - - - - -
+ Денежные средства + Кредитов на руках: кр.
+
+ + +
+
+ + +
-
- Перевод кредитов -
- - - - - - - -
- +
+ Перевод кредитов + + +
+ - Комиссия составит 3% от переводимой суммы, но не менее 1 кр. + Комиссия составит 3% от переводимой суммы, но не менее 1 кр.
diff --git a/register.php b/register.php index 8e814dc..42d8878 100644 --- a/register.php +++ b/register.php @@ -23,7 +23,7 @@ if ($hreject) { VALUES ("?s", "?s", "?s", "?s", "?s", "?s")', $login, $password, $email, $birthday, $ip, session_id()); $nid = db::c()->getLastInsertId(); db::c()->query('INSERT INTO `online` (`id`, `date`, `room`) VALUES (?i, ?i, ?i)', $nid, time(), 1); - db::c()->query('INSERT INTO `bank` (`id`, `cr`) VALUES (?i, ?i)', $nid, 5); + db::c()->query('INSERT INTO `bank` (`id`) VALUES (?i)', $nid, 5); //db::c()->query('UPDATE `users` SET `sid` = "?s" WHERE `id` = ?i', session_id(), $nid); setcookie(GAMEDOMAIN, $nid, time() + 3600); setcookie("battle", time());