ввод-вывод средств

This commit is contained in:
lopar 2018-03-09 23:12:03 +02:00
parent 722f8514c7
commit a67bd9b375
2 changed files with 69 additions and 63 deletions

130
bank.php
View File

@ -11,12 +11,15 @@ if ($user['battle'] != 0) {
} }
$cost_login = 25; $cost_login = 25;
$mywarn = '';
######## ОБЩИЕ ЗАПРОСЫ В БАЗУ ### ######## ОБЩИЕ ЗАПРОСЫ В БАЗУ ###
$bank = db::c()->query('SELECT `id`, `cr`, `ekr` FROM `bank` WHERE `id` = ?i', $_SESSION['uid'])->fetch_assoc(); $bank = db::c()->query('SELECT `id`, `cr`, `ekr` FROM `bank` WHERE `id` = ?i', $_SESSION['uid'])->fetch_assoc();
################################# #################################
/**
* Если вдруг нет счёта, создаём.
*/
if (!$bank['id']) { if (!$bank['id']) {
db::c()->query('INSERT INTO `bank` (`id`) VALUES (?i)', $_SESSION['uid']); db::c()->query('INSERT INTO `bank` (`id`) VALUES (?i)', $_SESSION['uid']);
} }
@ -36,25 +39,29 @@ if (!$bank['id']) {
</script> </script>
<script src="/js/jquery-1.7.2.min.js"></script> <script src="/js/jquery-1.7.2.min.js"></script>
<style> <style>
legend {
padding: 0.2em 0.5em;
color: #666;
font-weight: bold;
}
.appblock { .appblock {
background: silver; background: silver;
border-radius: 2px; border-radius: 2px;
float: left; float: left;
height: 200px; height: 200px;
margin: 10px; margin: 10px;
max-width: 250px; width: 250px;
opacity: 0.75; opacity: 0.75;
padding: 5px; padding: 5px;
} }
div.appblock form { div.appblock form {
margin: 0; margin: 5px;
}
div.appblock span {
padding: 0.2em 0.5em;
color: #666;
font-weight: bold;
display: block;
}
div.appblock br {
margin:5px;
} }
</style> </style>
</head> </head>
@ -100,39 +107,35 @@ if (!$_SESSION['bankid']) {
die(); die();
} }
if ($_POST['in'] && $_POST['ik']) {
$_POST['ik'] = round($_POST['ik'], 2); $summa = filter_input(INPUT_POST, 'summa', FILTER_VALIDATE_INT);
if (is_numeric($_POST['ik']) && ($_POST['ik'] > 0) && ($_POST['ik'] <= $user['money'])) {
$user['money'] -= $_POST['ik']; if (isset($_POST['money-in']) && $summa) {
if (mysql_query("UPDATE `users` SET `money`=`money`-'" . $_POST['ik'] . "' WHERE `id`=" . $user['id'] . " LIMIT 1;")) { if ($summa > 0 && ($summa <= $user['money'])) {
$mywarn = "Деньги удачно положены на счет"; $user['money'] -= $summa;
mysql_query("UPDATE `bank` SET `cr`=`cr`+'" . $_POST['ik'] . "' WHERE `id`=" . $_SESSION['bankid'] . " LIMIT 1;"); db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', $summa, $bank['id']);
mysql_query("INSERT INTO `delo`(`id`,`author`,`pers`,`text`,`type`,`date`) VALUES ('','0','" . $_SESSION['uid'] . "','Персонаж " . $user['login'] . " положил на свой счет №" . $_SESSION['bankid'] . " " . $_POST['ik'] . " кр. ',1,'" . time() . "');"); db::c()->query('UPDATE `bank` SET `cr` = `cr` + ?i WHERE `id` = ?i', $summa, $bank['id']);
} else { db::c()->query('INSERT INTO `bank_logs` (`user_id`, `sum`, `type`, `comments`, `source`)
$mywarn = "Произошла ошибка!"; VALUES (?i, ?i, "?s", "?s", ?i)', $bank['id'], $summa, 'money-in', 'Банк: Зачисление средств на счёт', $bank['id']);
}
} else { } else {
$mywarn = "У вас недостаточно денег для выполнения операции"; $mywarn = "У вас недостаточно денег для выполнения операции";
} }
$_POST['in'] = 0; $_POST['money-in'] = NULL;
$summa = 0;
} }
if ($_POST['out'] && $_POST['ok']) { if ($_POST['money-out'] && $summa) {
$_POST['ok'] = round($_POST['ok'], 2); if ($summa > 0 && ($summa <= $bank['cr'])) {
if (is_numeric($_POST['ok']) && ($_POST['ok'] > 0) && ($_POST['ok'] <= $bank['cr'])) { $user['money'] += $summa;
$user['money'] += $_POST['ok']; db::c()->query('UPDATE `bank` SET `cr` = `cr` - ?i WHERE `id` = ?i', $summa, $bank['id']);
if (mysql_query("UPDATE `users` SET `money`=`money`+'" . $_POST['ok'] . "' WHERE `id`='" . $user['id'] . "' LIMIT 1;")) { db::c()->query('UPDATE `users` SET `money` = `money` + ?i WHERE `id` = ?i', $summa, $bank['id']);
$mywarn = "Деньги удачно сняты со счета"; db::c()->query('INSERT INTO `bank_logs` (`user_id`, `sum`, `type`, `comments`, `source`)
mysql_query("UPDATE `bank` SET `cr`=`cr`-'" . $_POST['ok'] . "' WHERE `id`='" . $_SESSION['bankid'] . "' LIMIT 1;"); VALUES (?i, ?i, "?s", "?s", ?i)', $bank['id'], $summa, 'money-out', 'Банк: Вывод средств на руки', $bank['id']);
$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 = "Произошла ошибка!";
}
} else { } else {
$mywarn = "У вас недостаточно денег на счету для выполнения операции"; $mywarn = "У вас недостаточно денег на счету для выполнения операции";
} }
$_POST['out'] = 0; $_POST['money-out'] = NULL;
$summa = 0;
} }
if ($_POST['change'] && $_POST['ok']) { if ($_POST['change'] && $_POST['ok']) {
@ -411,39 +414,42 @@ if (!$_SESSION['bankid']) {
err($mywarn); err($mywarn);
?> ?>
<a href="?exit=1"> выйти из счёта</a> <a href="?exit=1"> выйти из счёта</a>
<h1>ет <b><?=$bank['id']?></h1> <br><br>
<table class='adm'>
<tr>
<th></th>
<th>Кредитов.</th>
<th>ЕвроКредитов.</th>
</tr>
<tr>
<td><?=$bank['id']?></td>
<td><?=$bank['cr']?></td>
<td><?=$bank['ekr']?></td>
</tr>
</table><br>
<div class="appblock"> <div class="appblock">
<legend>Денежные средства</legend> <span>Денежные средства</span>
Кредитов на руках: <b><?= $user['money'] ?></b> кр.<br> Кредитов на руках: <b><?=$user['money']?></b> кр.<br>
Кредитов на счету: <b><?= $bank['cr'] ?></b> кр.<br> <form method="post">
Еврокредитов на счету: <b><?= $bank['ekr'] ?></b> екр.<br> <input size="10" name="summa" placeholder="Сумма">
<table width=100%> <input type="submit" name="money-in" value="Вложить">
<tr> </form>
<td width="75"><input type=text size=10 name=ik placeholder="Сумма"></td> <form method="post">
<td><input type=submit name=in value="Положить кредиты на счёт"></td> <input size="10" name="summa" placeholder="Сумма">
</tr> <input type="submit" name="money-out" value="Вложить">
<tr> </form>
<td><input type=text size=10 name=ok placeholder="Сумма"></td>
<td><input type=submit name=out value="Снять кредиты со счёта"></td>
</tr>
</table>
</div> </div>
<div class="appblock"> <div class="appblock" style="background:#FFAAAA;">
<legend>Перевод кредитов</legend> <span>Перевод кредитов</span>
<form method="POST"> <form method="post">
<table width=100%> <input size="10" name="summa" placeholder="Сумма">
<tr> <input size="10" name="to-id" placeholder="Cчёт получателя"><br>
<td width="75"><input type=text size=10 name=sum placeholder="Сумма"></td> <input type="submit" name="send-money" value="Перевести кредиты">
</tr>
<tr>
<td><input type=text size=10 name=number placeholder="Cчёт получателя"></td>
</tr>
</table>
<input type=submit name=wu value="Перевести кредиты">
</form> </form>
Комиссия составит 3% от переводимой суммы, но не менее 1 кр. <i>Комиссия составит 3% от переводимой суммы, но не менее 1 кр.</i>
</div> </div>
<? if (!empty($user['admin'])): ?> <? if (!empty($user['admin'])): ?>

View File

@ -23,7 +23,7 @@ if ($hreject) {
VALUES ("?s", "?s", "?s", "?s", "?s", "?s")', $login, $password, $email, $birthday, $ip, session_id()); VALUES ("?s", "?s", "?s", "?s", "?s", "?s")', $login, $password, $email, $birthday, $ip, session_id());
$nid = db::c()->getLastInsertId(); $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 `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); //db::c()->query('UPDATE `users` SET `sid` = "?s" WHERE `id` = ?i', session_id(), $nid);
setcookie(GAMEDOMAIN, $nid, time() + 3600); setcookie(GAMEDOMAIN, $nid, time() + 3600);
setcookie("battle", time()); setcookie("battle", time());