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

This commit is contained in:
lopar 2018-03-10 00:01:20 +02:00
parent a67bd9b375
commit 771b7f6073

103
bank.php
View File

@ -74,8 +74,8 @@ if ($_GET['exit']) {
$_SESSION['bankid'] = null;
}
if ($_POST['userlogin']) {
$_SESSION['bankid'] = $user['id'];
if (isset($_POST['userlogin'])) {
$_SESSION['bankid'] = $_SESSION['uid'];
}
//if ($_POST['enter'] && $_POST['pass']) {
@ -97,19 +97,12 @@ if (!$_SESSION['bankid']) {
<?
} else {
$summa = filter_input(INPUT_POST, 'summa');
$toid = filter_input(INPUT_POST, 'to-id');
if ($_GET['fail']) {
err('Ошибка пополнения баланса.');
die();
}
if ($_GET['suk']) {
err('Баланс удачно пополнен.');
die();
}
$summa = filter_input(INPUT_POST, 'summa', FILTER_VALIDATE_INT);
/**
* Зачисдение кредитов на счёт.
*/
if (isset($_POST['money-in']) && $summa) {
if ($summa > 0 && ($summa <= $user['money'])) {
$user['money'] -= $summa;
@ -124,7 +117,10 @@ if (!$_SESSION['bankid']) {
$summa = 0;
}
if ($_POST['money-out'] && $summa) {
/**
* Снятие кредитов со счёта.
*/
if (isset($_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']);
@ -138,6 +134,41 @@ if (!$_SESSION['bankid']) {
$summa = 0;
}
/**
* Перевод кредитов на другой счёт.
*/
if (isset($_POST['send-money']) && $summa && $toid) {
$receiver = db::c()->query('SELECT `id` FROM `bank` WHERE `id` = ?i', $toid)->fetch_assoc();
if ($receiver['id']) {
if ($summa > 0) {
$nalog = round($summa * 0.05);
if ($nalog < 1) {
$nalog = 1;
}
$new_summa = $summa + $nalog;
if ($new_summa <= $bank['cr']) {
db::c()->query('UPDATE `bank` SET `cr` = `cr` - ?i WHERE `id` = ?i', $new_summa, $bank['id']);
db::c()->query('UPDATE `bank` SET `cr` = `cr` + ?i WHERE `id` = ?i', $summa, $toid);
db::c()->query('UPDATE `bank` SET `cr` = `cr` + ?i WHERE `id` = ?i', $nalog, 0);
db::c()->query('INSERT INTO `bank_logs` (`user_id`, `sum`, `type`, `comments`, `source`)
VALUES (?i, ?i, "?s", "?s", ?i)', $toid, $summa, 'money-in', 'Получение банковского перевода.', $bank['id']);
db::c()->query('INSERT INTO `bank_logs` (`user_id`, `sum`, `type`, `comments`, `source`)
VALUES (?i, ?i, "?s", "?s", ?i)', $bank['id'], $new_summa, 'send-money', 'Банк: Перевод средств на другой счёт. Комиссия: 5%', $toid);
} else {
$mywarn = "У вас недостаточно денег на счету для выполнения операции";
}
} else {
$mywarn = "Укажите сумму!";
}
} else {
$mywarn = "Счёт не существует.";
}
$_POST['send-money'] = NULL;
$summa = 0;
$toid = 0;
}
if ($_POST['change'] && $_POST['ok']) {
$_POST['ok'] = round($_POST['ok'], 2);
if (is_numeric($_POST['ok']) && ($_POST['ok'] > 0) && ($_POST['ok'] <= $bank['ekr'])) {
@ -301,40 +332,6 @@ if (!$_SESSION['bankid']) {
$_GET['dropst'] = 0;
}
if ($_POST['wu'] && $_POST['sum'] && $_POST['number']) {
$bank2 = mysql_fetch_array(mysql_query("SELECT * FROM `bank` WHERE `id`='" . $_POST['number'] . "';"));
$to = mysql_fetch_array(mysql_query("SELECT login FROM `users` WHERE `id`='" . $bank2['owner'] . "';"));
if ($bank2[0]) {
$_POST['sum'] = round($_POST['sum'], 2);
if (is_numeric($_POST['sum']) && ($_POST['sum'] > 0)) {
$nalog = round($_POST['sum'] * 0.03);
if ($nalog < 1) {
$nalog = 1;
}
$new_sum = $_POST['sum'] + $nalog;
if ($new_sum <= $bank['cr']) {
if (mysql_query("UPDATE `bank` SET `cr`=`cr`-'" . $new_sum . "' WHERE `id`='" . $_SESSION['bankid'] . "' LIMIT 1;")) {
mysql_query("UPDATE `bank` SET `cr`=`cr`+'" . $_POST['sum'] . "' WHERE `id`='" . $_POST['number'] . "' 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['number'] . " к персонажу " . $to['login'] . " " . $_POST['sum'] . " кр. Дополнительно снято " . $nalog . " кр. за услуги банка ',1,'" . time() . "');");
mysql_query("INSERT INTO `delo` (`id`,`author`,`pers`,`text`,`type`,`date`) VALUES ('','0','" . $bank2['owner'] . "','Персонаж " . $user['login'] . " перевел со своего банковского счета №" . $_SESSION['bankid'] . " на счет №" . $_POST['number'] . " к персонажу " . $to['login'] . " " . $_POST['sum'] . " кр. Дополнительно снято " . $nalog . " кр. за услуги банка ',1,'" . time() . "');");
$sum = $_POST['sum'];
$schet = $_POST['number'];
$mywarn = "$sum кр. успешно переведены на счет № $schet";
} else {
$mywarn = "Произошла ошибка!";
}
} else {
$mywarn = "У вас недостаточно денег на счету для выполнения операции";
}
} else {
$mywarn = "У вас недостаточно денег на счету для выполнения операции";
}
} else {
$mywarn = "Данные о счете получателя не найдены.";
}
$_POST['wu'] = 0;
}
### Чеки
/**
@ -434,22 +431,22 @@ if (!$_SESSION['bankid']) {
Кредитов на руках: <b><?=$user['money']?></b> кр.<br>
<form method="post">
<input size="10" name="summa" placeholder="Сумма">
<input type="submit" name="money-in" value="Вложить">
<input type="submit" name="money-in" value="Положить на счёт">
</form>
<form method="post">
<input size="10" name="summa" placeholder="Сумма">
<input type="submit" name="money-out" value="Вложить">
<input type="submit" name="money-out" value="Снять со счёта">
</form>
</div>
<div class="appblock" style="background:#FFAAAA;">
<div class="appblock">
<span>Перевод кредитов</span>
<form method="post">
<input size="10" name="summa" placeholder="Сумма">
<input size="10" name="to-id" placeholder="Cчёт получателя"><br>
<input type="submit" name="send-money" value="Перевести кредиты">
</form>
<i>Комиссия составит 3% от переводимой суммы, но не менее 1 кр.</i>
<i>Комиссия составит 5% от переводимой суммы, но не менее 1 кр.</i>
</div>
<? if (!empty($user['admin'])): ?>