AntiBK/module/mail.php

300 lines
14 KiB
PHP
Raw Permalink Normal View History

<?
$mail_to = getVar('mail_to', 0);
$mail_id = getVar('mail_id', 0);
$send_sum = getVar('send_sum', 0);
?>
<script src="scripts/mail.js" type="text/javascript"></script>
<script src="scripts/move_check.js" type="text/javascript"></script>
<?
$mail_recieve = $adb->selectCell("SELECT COUNT(*) FROM `city_mail_items` WHERE `to` = ?d", $guid) | 0;
switch ($do)
{
case 'send_item':
$char->mail->sendItem($mail_to, $item_id);
break;
case 'get_item':
case 'return_item':
$char->mail->getItem($item_id, $do);
break;
case 'get_money':
case 'return_money':
$char->mail->getMoney($mail_id, $do);
break;
case 'check':
if (isset($_POST['send_money']))
$char->mail->sendMoney($mail_to, $send_sum);
break;
}
?>
<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr>
<td valign="top" height="100%">
<table width="100%" cellspacing="0" cellpadding="4" bgcolor="#d2d2d2">
<tr>
<td class="pH3">&nbsp; &nbsp; Почтовое отделение<?echo (isset($lang['mail_'.$do])) ?$lang['mail_'.$do] :"";?></td>
<td align="right" valign="top"><?echo $char->getLogin();?></td>
</tr>
</table>
<font color='red' id='error'><?$char->error->getFormattedError($error, $parameters);?></font>
<?
switch ($do)
{
default:
?>
<br>
&bull; <b>Передать предмет</b><br>
Вы можете отправить предмет любому персонажу, даже если он находится в другом городе. Цена и время доставки зависят от расстояния.<br>
<br>
&bull; <b>Кредиты и Телеграф</b><br>
Вы можете отправить короткое сообщение любому персонажу, даже если он находится в offline или другом городе.<br>
Вы можете отправить некоторую сумму денег персонажу.<br>
<br>
&bull; <b>Получить вещи</b><br>
Вы можете получить вещи, которые были отправлены вам другими игроками.<br>
Посылка хранится на почте 7 дней, но не более одного дня с момента как вы увидели ее в списке вещей для получения.
По истечению этого срока, посылка отправляется обратно или удаляется.
<br>
<small><br>Администрация почты заявляет, что не несет ответственности за хранимый или пересылаемый товар/кредиты/сообщения и не гарантирует 100% его доставку. В случае форс-мажорных обстоятельств, товар/кредиты/сообщения могут быть утеряны.</small>
<?
break;
case 'items':
if (!$login_mail)
{
echo "<script>findLogin('Почтовые услуги', 'main.php', 'login_mail', '', '', '<input type=\"hidden\" value=\"items\" name=\"do\">', 1)</script>";
break;
}
$mail_info = $adb->selectRow("SELECT `guid`,
`login`,
`city`
FROM `characters`
WHERE `login` = ?s or `guid` = ?s", $login_mail ,$login_mail) or $char->error->Map(203, $login_mail);
$login_mail = $mail_info['guid'];
?>
К кому передавать: <?echo $char->getLogin('mail', $login_mail);?> &nbsp;<input type="button" value="Сменить" onclick="findLogin('Почтовые услуги', 'main.php', 'login_mail', '', '', '<input type=hidden value=items name=do>', 0); return false;" class="nav"><br>
<?
if ($city == $mail_info['city'])
echo "Находится в этом городе";
else
echo "Находится в $mail_info[city]";
echo "<br>";
echo "Примерное время доставки: ".getFormatedTime(1800 + time ());
?>
<script type="text/javascript">
$(function (){
section = (c = getCookie('section')) ?c :1;
showInventory(section, 'mail_to', '<?echo $login_mail;?>');
});
</script>
<table border="0" width="100%" bgColor="#d4d2d2" cellpadding="3" cellspacing="0">
<tr>
<td width="25%" align="center" id="section_1"><a href="javascript:showInventory(1, 'mail_to', '<?echo $login_mail;?>');" class="nick"><b><?echo $lang['sec_item'];?></b></a></td>
<td width="25%" align="center" id="section_2"><a href="javascript:showInventory(2, 'mail_to', '<?echo $login_mail;?>');" class="nick"><b><?echo $lang['sec_thing'];?></b></a></td>
<td width="25%" align="center" id="section_3"><a href="javascript:showInventory(3, 'mail_to', '<?echo $login_mail;?>');" class="nick"><b><?echo $lang['sec_elix'];?></b></a></td>
<td width="25%" align="center" id="section_4"><a href="javascript:showInventory(4, 'mail_to', '<?echo $login_mail;?>');" class="nick"><b><?echo $lang['sec_other'];?></b></a></td>
</tr>
</table>
<div align="center" style="background: #a5a5a5;"><b><?echo $lang['back_pack'];?> (<?echo lowercase($lang['mass'])." $mass/$maxmass";?>)</div>
<div id="inventory"></div>
<?
break;
case 'money':
if (!$login_mail)
{
echo "<script>findLogin('Почтовые услуги', 'main.php', 'login_mail', '', '', '<input type=\"hidden\" value=\"money\" name=\"do\">', 1)</script>";
break;
}
$mail_info = $adb->selectRow("SELECT `guid`,
`login`,
`city`
FROM `characters`
WHERE `login` = ?s or `guid` = ?d", $login_mail ,$login_mail) or $char->error->Map(203, $login_mail);
$login_mail = $mail_info['guid'];
?>
К кому передавать: <?echo $char->getLogin('mail', $login_mail);?> &nbsp;<input type="button" value="Сменить" onclick="findLogin('Почтовые услуги', 'main.php', 'login_mail', '', '', '<input type=hidden value=money name=do>', 0); return false;" class="nav"><br>
<?
if ($city == $mail_info['city'])
echo "Находится в этом городе";
else
echo "Находится в $mail_info[city]";
?> <br>
<form action='?do=check&mail_to=<?echo $login_mail;?>' name='mail' method='post'>
<fieldset><legend><b>Передать кредиты</b></legend>
У вас на счету: <font color="#339900"><b><?echo $money;?></b></font> кр.<br>
Передать кредиты, минимально 1 кр. Комиссия составит 5%<br>
Укажите передаваемую сумму: <input type="text" name="send_sum" maxlength="8" size="6"><input type="submit" class="nav" value="Передать" name="send_money"><br>
</fieldset>
<fieldset><legend><b>Телеграф</b></legend>
Услуга платная: <B>0.1 кр.</b><br>
Сообщение: (максимально 100 символов)<br>
<input type="text" name="telegraph" maxlength="100" size="65"><input type="submit" value="Отправить" name="is_telegraph" class="nav"><br>
</fieldset>
<fieldset><legend><b>Письмо</b></legend>
Услуга платная: <b>1 кр.</b><br>
Сообщение: (время доставки 30 мин.)<br>
<textarea id="letter" name="letter" cols="65" rows="10" onkeyup="ch_l ();" onchange="ch_l ();"></textarea><br>(осталось <span id="count1">500</SPAN> симв.)<input type="submit" value="Отправить" name="is_letter" class="nav"><br>
</fieldset>
</form>
<script type="text/javascript">
function ch_l ()
{
document.getElementById('count1').innerHTML = document.getElementById('letter').value.length > 500 ?0 :(500 - document.getElementById('letter').value.length);
}
ch_l();
</script>
<?
break;
case 'report':
break;
case 'get_mail':
$rows1 = $adb->select("SELECT *
FROM `city_mail_items` AS `m`
LEFT JOIN `character_inventory` AS `c`
ON `m`.`item_id` = `c`.`id`
LEFT JOIN `item_template` AS `i`
ON `c`.`item_entry` = `i`.`entry`
WHERE `m`.`to` = ?d
and `m`.`delivery_time` < ?d
and `c`.`mailed` = '1'
ORDER BY `m`.`delivery_time`;", $guid ,time ());
$rows2 = $adb->select("SELECT *
FROM `city_mail_items` AS `m`
LEFT JOIN `item_template` AS `i`
ON `m`.`item_id` = `i`.`entry`
WHERE `m`.`to` = ?d
and `m`.`delivery_time` < ?d
and `m`.`item_id` = '1000'
ORDER BY `m`.`delivery_time`;", $guid ,time ());
if (count($rows1) == 0 && count($rows2) == 0 )
{
echo "<table width='100%' cellspacing='1' cellpadding='2' bgcolor='#A5A5A5'><tr><td bgcolor='#e2e0e0' align='center'>$lang[empty]</td></tr></table>";
break;
}
$i = 1;
foreach ($rows2 as $money_info)
{
echo $char->equip->showItem($money_info, 'money_in', $i);
$i = !$i;
}
$i = 1;
foreach ($rows1 as $item_info)
{
echo $char->equip->showItem($item_info, 'mail_in', $i);
$i = !$i;
}
break;
}
?>
</td>
<td valign="top" width="200">
<table cellpadding="0" cellspacing="0" width="100%" style="padding-left: 5px;">
<tr>
<td align="right">
<?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=centsquare" class="passage" alt="<?echo $char->city->getRoomOnline('centsquare', 'mini');?>">Центральная Площадь</a></td>
</tr>
<tr>
<td bgcolor="#D3D3D3"><img src="img/links.gif" width="9" height="7" /></td>
<td bgcolor="#D3D3D3" nowrap><a href="main.php" class="passage" alt="<?echo $char->city->getRoomOnline('Филиал Аукциона', 'mini');?>">Филиал Аукциона</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<nobr>
<?echo "$lang[money] ".getMoney($money);?> кр.<br>
Передач: <?echo $char_db['transfers'];?><br><br>
<?
if ($do == 'items') echo "<b>Передать предметы</b><br>";
else
{
?>
<a href="main.php?do=items<?echo ($login_mail) ?"&login_mail=$login_mail" :""?>" class="nick">Передать предметы</a><br>
<?
}
if ($do == 'money') echo "<b>Кредиты и Телеграф</b><br>";
else
{
?>
<a href="main.php?do=money<?echo ($login_mail) ?"&login_mail=$login_mail" :""?>" class="nick">Кредиты и Телеграф</a><br>
<?
}
if ($mail_recieve > 0 && $do == 'get_mail') echo "<b>Получить вещи</b><br><br>";
else if ($mail_recieve > 0) echo "<a href='main.php?do=get_mail' class='nick'>Получить вещи</a><br><br>";
else
{
?>
<font color="gray">Получить вещи</font><br>
<br>
<?
}
if ($do == 'report') echo "<b>Отчеты</b><br>";
else
{
?>
<a href="main.php?do=report" class="nick">Отчеты</a><br>
<?
}
?>
</nobr>
</td>
</tr>
</table>
</td>
</tr></table>
<?
/* if($_POST['act']==send)
{
$_POST[to] = htmlspecialchars($_POST[to]);
$_POST[telegram] = htmlspecialchars($_POST[telegram]);
$_POST[telegram] = str_replace("'",'"',$_POST[telegram]);
$num = mysql_num_rows(mysql_query("select login from characters where login='$_POST[to]'"));
if(!$_POST[to])echo"<span style='color:red'>укажите кому вы хотите достовить телеграмму...</span>";
elseif(!$_POST[telegram])echo"<span style='color:red'>в телеграмме должно присутствовать хотя бы одно слово...</span>";
elseif($num<1)echo"<span style='color:red'>персонажа «$_POST[to]» не существует, проверьте написание логина персонажа...</span>";
else
{
$_POST[telegram] = explode(" ", $_POST[telegram]);
$count = count($_POST[telegram]);
$cost = $count*0.00;
$_POST[telegram] = implode(" ", $_POST[telegram]);
if($row[money]<$cost)echo"<span style='color:red'>у вас нехватает ".($cost-$row[money])." золота, что бы отправить телеграмму...</span>";
else
{
$result1 = mysql_query("update characters set money=money-$cost where login='$login'");
if($result1)
{
$array = file("telegraf/telegraf.dat");
$time = Date("d.m.Y H:i");
$file = fopen("telegraf/telegraf.dat", "a+");
flock($file,2);
fwrite($file,"$time|$login|$_POST[to]|$_POST[telegram]|
");
flock($file,3);
fclose($file);
echo"<u>вы успешно отправили телеграмму оплатив $cost золота.</u>";
}
}
}
}
$file = file("telegraf/telegraf.dat");
$num = count($file);
for ($i = 0; $i <= $num; $i++)
{
$row = explode("|",$file[$i]);
if ($row[1]==$$login)
{
echo "$row[0] для «$row[2]»<br>";
$found = 1;
}
}
if ($found != 1)
echo"<i>Все телеграммы доставлины...</i>"; */
?>