Ivor Barhansky
36bf662112
Upload code Изменил(а) на 'README.md' Изменил(а) на 'README.md' Reviewed-on: https://src.lopar.us/lopar/AntiBK/pulls/1 Co-Authored-By: Ivor Barhansky <lopar@noreply.lopar.us> Co-Committed-By: Ivor Barhansky <lopar@noreply.lopar.us>
366 lines
14 KiB
PHP
366 lines
14 KiB
PHP
<?
|
||
defined('AntiBK') or die("Доступ запрещен!");
|
||
|
||
$id = getVar('id', 0);
|
||
$id2 = getVar('id2', 0);
|
||
?>
|
||
<script src="scripts/move_check.js" type="text/javascript"></script>
|
||
<script src="scripts/bank.js" type="text/javascript"></script>
|
||
<?
|
||
switch ($do)
|
||
{
|
||
case 'create':
|
||
$pass1 = getVar('pass1');
|
||
$pass2 = getVar('pass2');
|
||
if ($money < 3)
|
||
$char->error->Map(323, 3);
|
||
|
||
if ($pass1 == '')
|
||
$char->error->Map(301);
|
||
|
||
if ($pass2 == '')
|
||
$char->error->Map(324);
|
||
|
||
if ($pass1 != $pass2)
|
||
$char->error->Map(300);
|
||
|
||
$adb->query("INSERT INTO `character_bank` (`id`, `guid`, `password`)
|
||
VALUES (?d, ?d, ?s);", $id ,$guid ,SHA1($id.':'.$pass1));
|
||
$char->history->Bank($id, '', '', '', 1);
|
||
|
||
if (!($char->changeMoney(-3)))
|
||
$char->error->Map(107);
|
||
|
||
$char->error->Map(318, $id);
|
||
break;
|
||
case 'login':
|
||
$char->error->Map($char->bank->Login($id, $pass));
|
||
break;
|
||
case 'check':
|
||
if (empty($_SESSION['bankСredit']))
|
||
$char->error->Map();
|
||
|
||
$credit = $adb->selectRow("SELECT `id`,
|
||
`cash`,
|
||
`euro`
|
||
FROM `character_bank`
|
||
WHERE `id` = ?d
|
||
and `guid` = ?d", $_SESSION['bankСredit'] ,$guid) or $char->error->Map(322);
|
||
ArrToVar($credit);
|
||
if (isset($_POST['add_kredit']))
|
||
{
|
||
$add_sum = getVar('add_sum', 0, 11);
|
||
|
||
if (!($char->changeMoney(-$add_sum)))
|
||
$char->error->Map(107);
|
||
|
||
$char->bank->Money(-$add_sum, $id);
|
||
$char->history->Bank($id, '', $add_sum, '', 2);
|
||
$char->error->Map(319, "$add_sum|$id");
|
||
}
|
||
else if (isset($_POST['get_kredit']))
|
||
{
|
||
$get_sum = getVar('get_sum', 0, 11);
|
||
$char->bank->Money($get_sum, $id);
|
||
$char->changeMoney($get_sum);
|
||
$char->history->Bank($id, '', $get_sum, '', 3);
|
||
$char->error->Map(320, "$get_sum|$id");
|
||
}
|
||
else if (isset($_POST['transfer_kredit']))
|
||
{
|
||
$trf_sum = getVar('transfer_sum', 0, 11);
|
||
|
||
if ($level < 8)
|
||
$char->error->Map(306);
|
||
|
||
if ($id == $id2)
|
||
$char->error->Map(307);
|
||
|
||
if ($trf_sum < 1)
|
||
$char->error->Map(309);
|
||
|
||
$credit2_guid = $adb->selectCell("SELECT `guid` FROM `character_bank` WHERE `id` = ?d", $id2) or $char->error->Map(303);
|
||
$char->bank->Money($trf_sum, $id);
|
||
$trfed_sum = rdf($trf_sum * 0.97);
|
||
$char->bank->Money(-$trfed_sum, $id2, '', $credit2_guid);
|
||
$char->history->Bank($id, $id2, $trfed_sum, '', 4);
|
||
$char->history->Bank($id2, $id, $trfed_sum, '', 5);
|
||
$to_owner = $char->getLogin('name', $credit2_guid);
|
||
$char->error->Map(321, "$trfed_sum|$to_owner|$id2|$id");
|
||
}
|
||
else if (isset($_POST['convert_ekredit']))
|
||
{
|
||
$convert_sum = getVar('convert_sum', 0, 11);
|
||
|
||
if (checki($convert_sum))
|
||
$char->error->Map(327);
|
||
|
||
if ($euro < $convert_sum)
|
||
$char->error->Map(310, $convert_sum);
|
||
|
||
$converted_sum = $convert_sum * 30;
|
||
$char->bank->Money($convert_sum, $id, 'euro');
|
||
$char->bank->Money(-$converted_sum, $id);
|
||
$char->history->Bank($id, '', $converted_sum, $convert_sum, 6);
|
||
$char->error->Map(308, "$convert_sum|$id|$converted_sum");
|
||
}
|
||
else if (isset($_POST['change_psw']))
|
||
{
|
||
$new_psw = getVar('new_psw');
|
||
$new_psw2 = getVar('new_psw2');
|
||
|
||
if ($new_psw == "")
|
||
$char->error->Map(315);
|
||
|
||
if ($new_psw2 == "")
|
||
$char->error->Map(316);
|
||
|
||
if ($new_psw != $new_psw2)
|
||
$char->error->Map(317);
|
||
|
||
$adb->query("UPDATE `character_bank` SET `password` = ?s WHERE `id` = ?d", SHA1 ($id.':'.$new_psw) ,$id) or $char->error->Map(312);
|
||
$char->error->Map(311);
|
||
}
|
||
else if (isset($_POST['save_notepad']))
|
||
{
|
||
$notepad = getVar('notepad');
|
||
$notepad = str_replace ("\n", "<br>", $notepad);
|
||
$char->setChar('char_info', array('bank_note' => $notepad)) or $char->error->Map(314);
|
||
$char->error->Map(313);
|
||
}
|
||
$char->error->Map();
|
||
break;
|
||
case 'logout':
|
||
$char->bank->unLogin();
|
||
$char->error->Map();
|
||
break;
|
||
case 'delete':
|
||
$del1 = $adb->query("DELETE FROM `character_bank` WHERE `id` = ?d", $_SESSION['bankСredit']);
|
||
$del2 = $adb->query("DELETE FROM `history_bank` WHERE `credit` = ?d", $_SESSION['bankСredit']);
|
||
unset($_SESSION['bankСredit']);
|
||
$char->error->Map();
|
||
break;
|
||
}
|
||
?>
|
||
<table width="100%" border="0" cellpadding="0" cellspacing="1">
|
||
<tr>
|
||
<td valign='top' nowrap width="100%"><h3>Банк</h3></td>
|
||
<td align="right" valign='top' nowrap>
|
||
<?getUpdateBar();?>
|
||
<table width="148" border="0" cellpadding="0" cellspacing="1" bgcolor="#DEDEDE">
|
||
<tr>
|
||
<td bgcolor="#D3D3D3"><img src="img/links.gif" width="9" height="7" /></td>
|
||
<td bgcolor="#D3D3D3" nowrap><a href="main.php?action=go&room_go=fairstreet" class="passage" alt="<?echo $char->city->getRoomOnline('fairstreet', 'mini');?>">Страшилкина улица</a></td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<font color='red' id='error'><?$char->error->getFormattedError($error, $parameters);?></font>
|
||
<?
|
||
if (empty($_SESSION['bankСredit']))
|
||
{
|
||
$deist = getVar('deist');
|
||
if ($deist != "new")
|
||
{
|
||
$rows = $adb->selectCol("SELECT `id` FROM `character_bank` WHERE `guid` = ?d", $guid);
|
||
?>
|
||
<br>
|
||
Мы предоставляем следующие услуги:
|
||
<ol>
|
||
<li>Открытие счета
|
||
<li>Возможность положить/снять кредиты/еврокредиты со счета
|
||
<li>Перевести кредиты/еврокредиты с одного счета на другой
|
||
<li>Обменный пункт. Обмен еврокредитов на кредиты
|
||
</ol>
|
||
Хотите открыть свой счет? Услуга платная: 3.00 кр. <input class='nav' type="button" value="Открыть счёт" id='link' link='none&deist=new' />
|
||
<?
|
||
if ($rows)
|
||
{
|
||
?>
|
||
<form action="?do=login" name="F2" method="post">
|
||
<table>
|
||
<td>
|
||
<fieldset><legend><b>Управление счетом</b></legend>
|
||
<table>
|
||
<tr>
|
||
<td>Номер счета</td>
|
||
<td colspan="2">
|
||
<select name="id" size="0" style="width: 90px;">
|
||
<? foreach ($rows as $num => $id)
|
||
echo "<option value='$id'>$id</option>";
|
||
?> </select>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Пароль</td>
|
||
<td><input style='width: 90px;' type="password" name="pass"></td>
|
||
</tr>
|
||
<tr><td colspan="3" align="center"><input class="nav" type="submit" value="Войти" name="enter"></td></tr>
|
||
</table>
|
||
</fieldset>
|
||
</td>
|
||
</table>
|
||
</form>
|
||
<?
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ($money < 3)
|
||
$char->error->Map(323, 3);
|
||
|
||
$maxid = ($adb->selectCell("SELECT MAX(`id`) FROM `character_bank`;")) + 1;
|
||
?>
|
||
<h4>Открытие счета</h4>
|
||
Запишите номер вашего счета: <b><?echo $maxid;?></b><br>
|
||
Номер счета и пароль строго привязаны только к вашему персонажу. Только персонаж <b><?echo $login;?></b> может использовать этот счет, никто другой, даже зная ваш номер и пароль, не получит доступа к нему!<br>
|
||
<form action='?do=create' name='newcredit' method="post"><br>
|
||
<input type="hidden" name="id" value="<?echo $maxid;?>">
|
||
<table>
|
||
<tr><td>Придумайте пароль к счету<br><input type='password' name='pass1' size="20"></td></tr>
|
||
<tr><td>Введите пароль повторно<br><input type='password' name='pass2' size="20"></td></tr>
|
||
<tr><td>Вы заплатите: <b>3.00</b> кр.</td></tr>
|
||
<tr><td><input type='submit' value='Открыть счет' class='nav'></td></tr>
|
||
</table>
|
||
</form>
|
||
<?
|
||
}
|
||
}
|
||
else
|
||
{
|
||
$bank_info = $adb->selectRow("SELECT `id`,
|
||
`cash`,
|
||
`euro`
|
||
FROM `character_bank`
|
||
WHERE `id` = ?d", $_SESSION['bankСredit']);
|
||
ArrToVar($bank_info);
|
||
$note = $adb->selectCell("SELECT `bank_note` FROM `character_info` WHERE `guid` = ?d", $guid);
|
||
$note = str_replace(array("<br>", '\"', "\'"), array("\n", '"', "'"), $note);
|
||
$m_dis = ($money == 0) ?" disabled" :"";
|
||
$g_dis = ($cash == 0) ?" disabled" :"";
|
||
$e_dis = ($euro == 0) ?" disabled" :"";
|
||
?>
|
||
<table width="100%">
|
||
<tr>
|
||
<td valign="top" width="30%"><h4>Управление счетом</h4> <b>Счёт №:</b> <?echo $id;?> <a href="?do=logout" title="Окончить работу c текущим счетом" class="nick">[x]</a></td>
|
||
<td valign="top" align="center" width="17%">
|
||
<fieldset>
|
||
<legend><b>У вас на счету</b></legend>
|
||
<table>
|
||
<tr><td>Кредитов:</td><td><b><?echo $cash;?> кр.</b></td></tr>
|
||
<tr><td>Еврокредитов:</td><td><b><?echo $euro;?> екр.</b></td></tr>
|
||
<tr><td colspan="2"><hr></td></tr>
|
||
<tr><td>При себе наличных:</td><td><b><?echo getMoney($money);?> кр.</b></td></tr>
|
||
</table>
|
||
</fieldset>
|
||
</td>
|
||
<td valign="top" align="right" width="30%"><Font color="red">Внимание!</font> Некоторые услуги банка платные, о размере взымаемой комиссии написано в соответствующем разделе.</td>
|
||
</tr>
|
||
</table>
|
||
<form action='?do=check' name='credit' method='post'>
|
||
<table cellspacing="5" width="100%">
|
||
<tr>
|
||
<td valign="top" width="53%">
|
||
<fieldset>
|
||
<legend><b>Пополнить счет</b></legend>
|
||
Сумма <input type="text" name="add_sum" size="6" maxlength="10"<?echo $m_dis;?>> кр. <input type="submit" class="nav" name="add_kredit" value="Положить кредиты на счет"<?echo $m_dis;?>><br>
|
||
</fieldset>
|
||
</td>
|
||
<td valign="top" width="47%">
|
||
<fieldset>
|
||
<legend><b>Снять со счета</b></legend>
|
||
Сумма <input type="text" name="get_sum" size="6" maxlength="10"<?echo $g_dis;?>> кр. <input type="submit" class="nav" name="get_kredit" value="Снять кредиты со счета"<?echo $g_dis;?>><br>
|
||
</fieldset>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td valign="top">
|
||
<fieldset>
|
||
<legend><b>Перевести кредиты на другой счет</b></legend>
|
||
Сумма <input type="text" name="transfer_sum" size="6" maxlength="10"<?echo $g_dis;?>> кр.<br>
|
||
Номер счета куда перевести кредиты <input type="text" name="id2" size="12" maxlength="15"<?echo $g_dis;?>><br>
|
||
<input type="submit" class="nav" name="transfer_kredit" value="Перевести кредиты на другой счет"<?echo $g_dis;?>><br>
|
||
Комиссия составляет <b>3.00 %</b> от суммы, но не менее <b>1.00 кр</b>.
|
||
</fieldset>
|
||
</td>
|
||
<td valign="top">
|
||
<fieldset>
|
||
<legend><b>Курс еврокредита к мировой валюте</b></legend>
|
||
Данные на <?echo DATE_NO_SEC;?><br>
|
||
1 екр. = <b>1.2552</b> долларов США<br>
|
||
1 екр. = <b>1.0000</b> ЕВРО<br>
|
||
1 екр. = <b>9.9431</b> укр. гривен<br>
|
||
1 екр. = <b>0.8616</b> англ. фунтов стерлингов<br>
|
||
1 екр. = <b>37.7282</b> российских рублей<br>
|
||
</fieldset>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td valign="top">
|
||
<fieldset>
|
||
<legend><b>Обменный пункт</b></legend>
|
||
Обменять еврокредиты на кредиты.<br>
|
||
Курс <b>1 екр.</b> = <b>30.00 кр.</b><br>
|
||
Сумма <input type="text" name="convert_sum" size="6" maxlength="10"<?echo $e_dis;?>> екр.
|
||
<input type="submit" class="nav" name="convert_ekredit" value="Обменять"<?echo $e_dis;?>>
|
||
</fieldset>
|
||
</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td valign="top">
|
||
<fieldset>
|
||
<legend><b>Настройки</b></legend>
|
||
<b>Сменить пароль</b><br>
|
||
<table>
|
||
<tr>
|
||
<td>Новый пароль</td>
|
||
<td><input type="password" name="new_psw"></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Введите новый пароль повторно</td>
|
||
<td><input type="password" name="new_psw2"></td>
|
||
</tr>
|
||
</table>
|
||
<input type="submit" class="nav" name="change_psw" value="Сменить пароль"><br>
|
||
<?echo ($cash == 0 && $euro == 0) ?'<hr>Т.к. ваш счет с нулевым балансом, вы можете его в любой момент закрыть <input class="nav" type="button" name="close" value="Закрыть счет"><br>' :"";?>
|
||
</fieldset>
|
||
</td>
|
||
<td valign="top">
|
||
<fieldset>
|
||
<legend><b>Последние операции</b></legend>
|
||
<table cellpadding="2" cellspacing="0" border="0">
|
||
<? $rows = $adb->select("SELECT `credit2`,
|
||
`cash`,
|
||
`euro`,
|
||
`operation`,
|
||
`date`
|
||
FROM `history_bank`
|
||
WHERE `credit` = ?d
|
||
ORDER BY `id` DESC
|
||
LIMIT 0, 10;", $_SESSION['bankСredit']);
|
||
foreach ($rows as $hist)
|
||
{
|
||
vprintf("<tr><td><font class='date'>".date('d.m.y H:i', $hist['date'])."</font> ".$lang['bank_'.$hist['operation']]."</td></tr>", $hist);
|
||
}
|
||
?>
|
||
</table>
|
||
</fieldset>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" valign="top">
|
||
<fieldset>
|
||
<legend><b>Записная книжка</b></legend>
|
||
Здесь вы можете записывать любую информацию для себя. Номера счетов друзей, кто кому чего должен и прочее. Записная книжка общая для всех счетов.<br>
|
||
<textarea name="notepad" rows="10" cols="67" style="width: 100%;"><?echo $note;?></textarea><br>
|
||
<input type="submit" class="nav" name="save_notepad" value="Сохранить изменения">
|
||
</fieldset>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</form>
|
||
<?
|
||
}
|
||
?>
|