Вынос системы чеков из functions в банк напрямик.

This commit is contained in:
lopar 2018-02-27 07:14:11 +02:00
parent aa937c4db8
commit ddb885afe3
2 changed files with 421 additions and 468 deletions

150
bank.php
View File

@ -68,16 +68,16 @@ function inschet($userid)
<?php if (!empty($error)): ?>
<h1><?php echo $error; ?></h1>
<?php endif; ?>
<h1>ет <b><?=$_SESSION['bankid']?></h1>
<h1>ет <b><?= $_SESSION['bankid'] ?></h1>
<?php
if ($_GET['exit']) $_SESSION['bankid'] = null;
if ($_POST['enter'] && $_POST['pass']) {
$data = mysql_query("SELECT * FROM `bank` WHERE `owner` = '" . $user['id'] . "' AND `id` = '" . (int)$_POST['id'] . "' AND `pass` = '" . md5($_POST['pass']) . "' LIMIT 1");
//$data = db::c()->query('SELECT FROM `bank`');
$data = mysql_fetch_array($data);
// $data = mysql_query("SELECT * FROM `bank` WHERE `owner` = '" . $user['id'] . "' AND `id` = '" . (int)$_POST['id'] . "' AND `pass` = '" . md5($_POST['pass']) . "' LIMIT 1");
$data = db::c()->query('SELECT 1 FROM `bank` WHERE `owner` = ?i', $user['id']);
// $data = mysql_fetch_array($data);
if ($data) {
$_SESSION['bankid'] = $_POST['id'];
err('Удачный вход.');
@ -220,7 +220,7 @@ if ($_POST['repasswd']) {
</tbody></table>
<?
} else {
} else {
if ($_GET['fail']) {
err('Ошибка пополнения баланса.');
die();
@ -265,43 +265,6 @@ if ($_POST['repasswd']) {
$_POST['out'] = 0;
}
if ($_POST['sales'] && $_POST['count_ekr']) {
if (isset($bank['id'])) {
$cnt = round($_POST['count_ekr'], 2);
if ($cnt <= 0.4) {
err('Минимальная сумма: 0.5 екр');
} elseif ($bank['ekr'] < $cnt) {
err('Недостаточно средств ...');
} elseif ($user['align'] == 4) {
err('Персонажи с заклятием хаоса, не могут выписывать чеки ...');
} else {
bank_check(1123, 'shop', null, null, 0, $user['id'], 'Банковский чек на ' . $cnt . ' еврокредитов', $cnt);
$bank['ekr'] -= $cnt;
mysql_query('UPDATE `bank` SET `ekr` = "' . $bank['ekr'] . '" WHERE `id` = "' . $bank['id'] . '" LIMIT 1');
err('Чек на сумму : ' . $cnt . ' екр., появится у Вас в инвентаре ...');
}
} else {
err('Банковский счёт, не найден ...');
}
}
if ($_POST['saled'] && $_POST['coste']) {
$item = mysql_fetch_array(mysql_query('SELECT `id`, `name`, `bcost` FROM `inventory` WHERE `owner` = "' . $user['id'] . '" AND `id` = "' . mysql_real_escape_string($_POST['coste']) . '" LIMIT 1'));
if (isset($item['id'])) {
if ($item['bcost'] > 0) {
mysql_query('DELETE FROM `inventory` WHERE `owner` = "' . $user['id'] . '" AND `id` = "' . $item['id'] . '" LIMIT 1');
$bank['ekr'] += $item['bcost'];
mysql_query('UPDATE `bank` SET `ekr` = "' . $bank['ekr'] . '" WHERE `id` = "' . $bank['id'] . '" LIMIT 1');
err($item['name'] . ', успешно обналичен ...');
} else {
err('Это не чек ...');
}
} else {
err('Чек, не найден ...');
}
}
if ($_POST['change'] && $_POST['ok']) {
$_POST['ok'] = round($_POST['ok'], 2);
if (is_numeric($_POST['ok']) && ($_POST['ok'] > 0) && ($_POST['ok'] <= $bank['ekr'])) {
@ -522,7 +485,63 @@ if ($_POST['repasswd']) {
$_POST['wu'] = 0;
}
print "<center><font color=red><b>&nbsp;$mywarn</b></font></center>";
### Чеки
/**
*
*/
function bank_show()
{
global $user;
$pl = db::c()->query('SELECT `id`,`name`,`bcost` FROM `inventory` WHERE `owner` = ?i AND `bcost` > 0 ORDER BY `bcost` ASC', $user['id']);
if ($pl->getNumRows() > 0) {
echo '<select name=\'coste\'>';
while ($sp = $pl->fetch_assoc()) {
echo '<option value=\'' . $sp['id'] . '\'>' . $sp['name'] . '</option>';
}
echo '</select> <input class="ctContent" type="submit" value="Обменять" name="saled" />';
} else {
echo '<b>Нет чеков для обмена</b>';
}
}
if ($_POST['sales'] && $_POST['count_ekr'] && (!empty($user['admin']))) {
if (isset($bank['id'])) {
$cnt = round($_POST['count_ekr'], 2);
if ($cnt < 1) {
err('Минимальная сумма: 1 екр');
} elseif ($bank['ekr'] < $cnt) {
err('Недостаточно средств ...');
} else {
$name = 'Банковский чек на ' . $cnt . ' еврокредитов';
db::c()->query('INSERT INTO `inventory` SET `name` = "?s", `bcost` = ?i, `owner` = ?i, `prototype` = ?i', $name, $cnt, $user['id'], 1123);
// $bank['ekr'] -= $cnt;
// mysql_query('UPDATE `bank` SET `ekr` = "' . $bank['ekr'] . '" WHERE `id` = "' . $bank['id'] . '" LIMIT 1');
db::c()->query('UPDATE `bank` SET `ekr` = `ekr` - ?i WHERE `id` = ?i', $cnt, $bank['id']);
err('Чек на сумму : ' . $cnt . ' екр., появится у Вас в инвентаре ...');
}
} else {
err('Банковский счёт, не найден ...');
}
}
if ($_POST['saled'] && $_POST['coste'] && (!empty($user['admin']))) {
$item = mysql_fetch_array(mysql_query('SELECT `id`, `name`, `bcost` FROM `inventory` WHERE `owner` = "' . $user['id'] . '" AND `id` = "' . mysql_real_escape_string($_POST['coste']) . '" LIMIT 1'));
if (isset($item['id'])) {
if ($item['bcost'] > 0) {
mysql_query('DELETE FROM `inventory` WHERE `owner` = "' . $user['id'] . '" AND `id` = "' . $item['id'] . '" LIMIT 1');
$bank['ekr'] += $item['bcost'];
mysql_query('UPDATE `bank` SET `ekr` = "' . $bank['ekr'] . '" WHERE `id` = "' . $bank['id'] . '" LIMIT 1');
err($item['name'] . ', успешно обналичен ...');
} else {
err('Это не чек ...');
}
} else {
err('Чек, не найден ...');
}
}
###
err($mywarn);
?>
<div class="appblock">
@ -532,47 +551,28 @@ if ($_POST['repasswd']) {
Еврокредитов на счету: <b><?= $bank['ekr'] ?></b> екр.<br>
<table width=100%>
<tr>
<td width="75"><input type=text size=10 name=ik></td>
<td width="75"><input type=text size=10 name=ik placeholder="Сумма"></td>
<td><input type=submit name=in value="Положить кредиты на счёт"></td>
</tr>
<tr>
<td><input type=text size=10 name=ok></td>
<td><input type=text size=10 name=ok placeholder="Сумма"></td>
<td><input type=submit name=out value="Снять кредиты со счёта"></td>
</tr>
</table>
</div>
<div class="appblock">
<legend>Выписать чек</legend>
Услуга "чек на предъявителя". Вы выписываете екровый чек, который затем сможет обналичить любой
персонаж.<br>
<form method="POST">
Сумма (екр): <input type="text" size="4" name="count_ekr"/> <input type="submit" value="Выписать"
name="sales"/>
</form>
</div>
<div class="appblock">
<legend>Обналичить чек</legend>
В нашем банке мы принимаем к погашению екровые чеки на предъявителя.
<form method="POST">
<?= bank_show(); ?>
</form>
</div>
<div class="appblock">
<legend>Перевод кредитов</legend>
<form method="POST">
<table width=100%>
<tr>
<td width="75"><input type=text size=10 name=sum placeholder="Сумма"></td>
<td>Количество кредитов</td>
</tr>
<tr>
<td><input type=text size=10 name=number></td>
<td>Cчёт получателя</td>
<td><input type=text size=10 name=number placeholder="Cчёт получателя"></td>
</tr>
</table>
<input type=submit name=wu value="Перевести кредиты"></td>
<input type=submit name=wu value="Перевести кредиты">
</form>
Комиссия составит 3% от переводимой суммы, но не менее 1 кр.
</div>
@ -596,8 +596,24 @@ if ($_POST['repasswd']) {
<input type=submit name=changeback value="обменять">
</form>
</div>
<div class="appblock">
<legend>Выписать чек</legend>
Услуга "чек на предъявителя". Вы выписываете екровый чек, который затем сможет обналичить любой
персонаж.<br>
<form method="POST">
Сумма (екр): <input type="text" size="4" name="count_ekr"/> <input type="submit" value="Выписать"
name="sales"/>
</form>
</div>
<div class="appblock">
<legend>Обналичить чек</legend>
В нашем банке мы принимаем к погашению екровые чеки на предъявителя.
<form method="POST">
<?php bank_show(); ?>
</form>
</div>
<?php endif;
} # Очень важная и гордая кавычка!
} # Очень важная и гордая кавычка!
?>
</body>

View File

@ -613,69 +613,6 @@ function takeshopitem($item, $table = "shop", $present = '', $onlyonetrip = '',
return array("img" => $rec1['img'], "name" => $rec1['name'], "id" => mysql_insert_id());
}
function bank_check($item, $table = "shop", $present = '', $onlyonetrip = '', $fields = 0, $uid = 0, $name = '', $cost = 0)
{
global $user;
if (!$uid) {
$uid = $user['id'];
}
$r = mysql_query("SHOW FIELDS FROM `$table`");
$r2 = mysql_query("SHOW FIELDS FROM `inventory`");
while ($rec = mysql_fetch_assoc($r2)) {
$flds[$rec['Field']] = 1;
}
$rec1 = mysql_fetch_array(mysql_query("SELECT * FROM `$table` WHERE `id` = '$item' LIMIT 1"));
if ($rec1['onlyone']) {
$i = mysql_fetch_row(mysql_query("SELECT `id` FROM `inventory` WHERE `owner` = '$uid' AND `prototype` = '$item'"));
if ($i) {
echo "У вас слишком много таких вещей.";
}
}
if ($present) {
$rec1['present'] = $present;
}
if ($name != '') {
$rec1['name'] = $name;
}
if ($cost) {
$rec1['cost'] = $cost;
}
$sql = "";
while ($rec = mysql_fetch_assoc($r)) {
if (!$flds[$rec['Field']]) continue;
if ($rec['Field'] == "id" || $rec['Field'] == "prototype" || $rec['Field'] == "dategoden" || $rec['Field'] == "name") continue;
$sql .= ", `$rec[Field]` = '" . $rec1[$rec['Field']] . "' ";
}
if ($fields['goden']) {
$goden = $fields["goden"];
}
mysql_query("INSERT INTO `inventory` SET `name` = '" . $rec1['name'] . "', `bcost` = $cost, " . ($present ? "`present` = '$present'," : "") . (@$rec1['podzem'] ? "`podzem` = '$rec1[podzem]'," : "") . " `owner` = '$uid', `otdel` = $rec1[razdel] , `prototype` = '$item' " . ($onlyonetrip ? ", `foronetrip` = 1" : "") . ($goden ? ", `dategoden` = '" . ($goden * 60 * 60 * 24 + time()) . "'" : "") . " $sql");
}
function bank_show()
{
global $user;
$pl = mysql_query('SELECT `id`, `name`, `bcost` FROM `inventory` WHERE `owner` = "' . $user['id'] . '" AND `bcost` > 0 ORDER BY `bcost` ASC');
if (mysql_num_rows($pl) > 0) {
echo '<select name=\'coste\'>';
while ($sp = mysql_fetch_array($pl)) {
echo '<option value=\'' . $sp['id'] . '\'>' . $sp['name'] . '</option>';
}
echo '</select> <input class="ctContent" type="submit" value="Обменять" name="saled" />';
} else {
echo '<b>Нет чеков для обмена</b>';
}
}
function select_arenda($u, $type, $redirect = false)
{