Файл: _gladiators2_/gladiators2/gladiators/gladiators/market.php
Строк: 545
<?
@session_start();
if(!$_SESSION["id"])
{
echo"<b>Ошибка:</b> потеря сессии. Вам необходимо войти <a href=# onclick="javascript:top.window.location.href='index.php'">зайти заново</a> !</b>";
exit();
}
@include("connect.php");
@include("includes/redir.php");
@include("includes/user_class.php");
@include("includes/std.h.php");
@include("system/config/servers.php");
@include("system/config/values.php");
@include("system/class/main_class.php");
$db = new DBconn;
$db->Conn("greece",$server_conf);
$db2 = new DBconn;
$db2->Conn("greece",$server_conf);
$myself = new user;
if($myself->read($_SESSION["id"])==false)
{
echo"<b>Ошибка:</b> невозможно получить информацию о персонаже! Возможно сервер перегружен, попробуйте обновить страницу через пару минут.";
exit();
}
if($myself->locate!="market" and $myself->locate!=4)
{
if(preg_match("/^[0-4]$/",$myself->locate))
Header("Location: map.php?pl=".$myself->locate);
else
Header("Location: ".$myself->locate.".php");
}
$myself->locate = "market";
if($_SESSION["room"] != "market")
{
session_register('room');
$room = "market";
echo"<script language=javascript>top.frames['online'].window.location.reload();</script>";
}
$_GET["id"] = str_replace("MR","",$_GET["id"]);
@include("system/modules/mod_market.php");
$myself->write();
if(!$_GET["frame"])
$_GET["frame"] = "main";
echo"
<html>
<head>
<meta http-equiv='Content-type' content='text/html; charset=windows-1251'>
<link rel=stylesheet href=/css/index.css>
<script language=JavaScript src=/js/dinamic_js.php?js=altt></script>
</head>
<body bgcolor=#e5e1be>
<br>
<span id=altt style='position:absolute; left:100px; top:148px; z-index:1'></span>
<center>
<table border=0 cellspacing=0 width=95% cellpadding=4>
<tr><td colspan=2>
<span style='color:#000000;font-weight:bold' id=inr></span>
<span id=imges></span>
</td></tr>
<tr>
<td align=left><div style='color:brown;font-weight:bold;font-size:15px'>Рынок</div></td>
<td align=right>
<input type=image src='".$config["img_server"]."/b_refresh.gif' value='обновить' onclick='javascript:top.frames["main"].window.location="market.php?frame=".$_GET["frame"]."&act=".$_GET["act"]."&id=".$_GET["id"].""'> ";
if(!$_GET["act"] && $_GET["frame"]=="main")
echo"<input type=image src='".$config["img_server"]."/b_back.gif' value='вернуться' onclick="top.perehod('map.php?pl=4','Рыночная площадь')"><br>";
else
echo"<input type=image src='".$config["img_server"]."/b_back.gif' value='вернуться' onclick="window.location='market.php'"><br>";
echo"</td>
</tr>
<tr><td align=right colspan=2>
<table border=0 cellspacing=0 cellpadding=5 width=250 height=30>
<tr><td bgcolor=#dad6b7 align=center>
<b><u>Наличные:</u></b> <b>".$myself->money."</b> золота.
</td></tr></table>
</td></tr>
<tr>
<td align=left colspan=2>";
if($error_msg)
echo"<span style='color:darkred;font-weight:bold'>".$error_msg."</span>";
if($scs_msg)
echo"<span style='color:#000000;font-weight:bold'>".$scs_msg."</span>";
echo"</td>
</tr>
<tr><td colspan=2 valign=top>
<br>";
switch($_GET["frame"])
{
case"view":
if(!preg_match("/[0-9]+/",$_GET["cat"]))
$_GET["cat"] = 1;
$db->query("select * from market_lotki where id='".$_GET["id"]."'");
$db->fetch_array();
@preg_match_all("/([0-9]+,[0-9]+,".$_GET["cat"].",[0-9]+.[0-9]+;)/",$db->row["items"],$items);
$owner = explode("#",$db->row["owner"]);
echo"<b>«".$db->row["name"]."»</b> MR".$_GET["id"]."</b><br>Владелец: ".ch_info($owner[1],$owner[2],$owner[4],$owner[3],$config["img_server"])."<br><br>";
if(!$db->row["items"])
echo"<center>На лотке нет ни одного предмета. Приходите позже...</center>";
elseif($db->row["finish"] < time())
echo"Оплаченое время аренды лотка закончено, владелец должен оплатить арендную плату.";
else
{
echo"<table border=0 width=100% cellspacing=0 cellpadding=5>
<tr>
<td valign=top>";
if(!count($items[0]))
echo"<b><i>Предметы данного вида отсутствуют!</i></b>";
else
{
for($i=0;$i<=count($items[0])-1;$i++)
{
$row = explode(",",$items[0][$i]);
$db2->query("select * from items where id='".$row[0]."' ORDER BY price asc");
$db2->fetch_array();
$row[3] = str_replace(";","",$row[3]);
echo"<table border=0 cellspacing=2 width=200 cellpadding=5 bgcolor=gray>
<tr><td bgcolor=#cbcbb0>".ShowItemParam($myself,$db2->row)."</span></td></tr>
<tr><td bgcolor=#cbcbb0><small>Стоимость: </small><b>".$row[3]."</b></td></tr>
<tr>
<td colspan=2 align=left>
<input type=button class=button value='купить' style='font-weight:bold' onclick='if(confirm("Вы действительно хотите купить « ".$db2->row["name"]." » за ".$row[3]." золота?")==true)window.location="market.php?frame=view&id=".$_GET["id"]."&cat=".$_GET["cat"]."&buy=".$row[1].""'>
</td></tr>
</table><br>";
}
}
echo"</td>
<td valign=top width=300 bgcolor=#cbcbb0><b>Виды предметов:</b><br><br>";
$file = @file("includes/shop_otdel.dat");
for($i=0;$i<=count($file)-1;$i++)
{
$row = explode("|",$file[$i]);
preg_match_all("/([0-9]+,[0-9]+,".$row[0].",[0-9]+.[0-9]+;)/",$db->row["items"],$c_items);
if(count($c_items[0]) > 0)
echo"<li><a href=market.php?frame=view&id=".$_GET["id"]."&cat=".$row[0]."><b>".$row[1]."</b></a> (".count($c_items[0]).")<br>";
}
echo"</td>
</tr></table>";
}
break;
case"my_lotok":
if($_GET["act"]=="arenda" && $_POST["days"] && $_POST["limit"] && $_POST["name"])
{
echo"<b>Аренда лотка // Подсчет стоимости аренды</b><br><br><a href=market.php?frame=my_lotok&act=arenda><b>«« вернуться назад</b></a><br><br>";
if(!preg_match("/^[1-9][0-9]*$/",$_POST["days"]))
$error = "не верно указанно количество суток, это должно быть целое число.";
elseif(!preg_match("/^(10|20|50|100|1000)$/",$_POST["limit"]))
$error = "не верно указанно количество ячеек, это должно быть одно из значений - 10,20,50,100,1000.";
elseif(!preg_match("/^[-a-zA-Zа-яА-Я_s]{3,20}$/",$_POST["name"]))
$error = "не верно указанно название лотка, возможно использовать только английские или русские буквы, символы _ и -, а также пробел. Длина названия может быть от 3-х до 20-и символов.";
else
{
$money = $_POST["days"]*2.5+($_POST["limit"]*2.5/10);
if($myself->align=="3")
$money = ToFloat((($money*70)/100),2)." (скидка 30%)";
else
$money = ToFloat($money,2);
echo"Стоимость аренды лотка (".$_POST["days"]." дн., ".$_POST["limit"]." ячеек) состовляет <b>".$money."</b> золота.<br><br>
<form action='market.php?frame=my_lotok&act=arenda' method=post>
<input type=hidden name=arenda value=buy>
<input type=hidden name=name value='".$_POST["name"]."'>
<input type=hidden name=days value='".$_POST["days"]."'>
<input type=hidden name=limit value='".$_POST["limit"]."'>
<input type=submit value='оплатить' class=button></form>
";
}
if($error)
echo"<span style='color:darkred;font-weight:bold'>".$error."</span>";
}
elseif($_GET["act"]=="arenda")
{
if($myself->align=="3")
$count = "3.50 (скидка 30%)";
else
$count = "5.00";
echo"<b>Аренда лотка</b><br><br>
<span class=comm>
Стоимость аренды лотка на одни сутки - <b>".$count."</b> золота, стоимость включает в себя стандартный лоток в 10 ячеек,
есле же вы хотите взять расширеные лотки, то к суточной стоимости будет добавлена стоимость дополнительных ячеек.
<br>Узнать точную стоимость аренды, вы сможете после заполнения данных и нажатия кнопки "подсчитать".
</span><br><br>
<form action='market.php?frame=my_lotok&act=arenda' method=post>
<table border=0>
<tr><td>Название лотка:</td><td><input type=text name=name></td></tr>
<tr><td>Срок аренды:</td><td><input type=text name=days size=4> - количество суток</td></tr>
<tr><td>Размеры лотка:</td><td><select name=limit>
<option value=10>10
<option value=20>20
<option value=50>50
<option value=100>100
<option value=1000>1000
<select> ячеек.</td></tr></table>
<br><b>Внимание!</b> Все поля обязательные для заполнения<br><br>
<input type=submit value='подсчитать' class=button></form>
";
}
elseif($_GET["act"]=="manage")
{
if(!$_GET["act2"])
{
$db->query("select * from market_lotki where id='".$_GET["id"]."'");
$db->fetch_array();
$date = getdate($db->row["finish"]);
echo"<script language=javascript>
function win()
{
document.all('contextmenu').innerHTML = '<table border=0 cellspacing=2 cellpadding=9 bgcolor=#3a3a3a width=250><tr><td bgcolor=#dad6b7><table border=0 cellspacing=0 cellpadding=3><tr><td height=><b>Оплата аренды лотка</b></td><td><span onclick="winclose()" style=cursor:hand;color:darkred><b>X</b></span></td></tr><form action='market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."' method=post><input type=hidden name=do value=continue><tr><td colspan=2>Количество дней: <input type=text name=days size=4 value=1> <input type=submit value='продлить' class=button></td></tr></form></table></td></tr></table>';
document.all('contextmenu').style.visibility = 'visible';
document.all('contextmenu').style.left = screen.width/2-160;
document.all('contextmenu').style.top = event.y+document.body.scrollTop+10;
document.all(days).focus();
}
function winclose()
{
document.all('contextmenu').style.visibility='hidden';
}
</script>
<span id=contextmenu style='position:absolute;z-index:100' ></span>";
$money = 2.5+($db->row["lim"]*2.5/10);
if($myself->align=="3")
$money = ToFloat((($money*70)/100),2)." (скидка 30%)";
else
$money = ToFloat($money,2);
echo"<b>Управление лотком «".$db->row["name"]."»</b><br><br>
Стоимость аренды этого лотка за 1 день - <b>".$money."</b> золота.<br><br>
Лоток арендован до <b>".UDate("mday.mon.year hours:minutes",getdate($db->row["finish"]))."</b> <a href=# onclick='win();'><img src=".$config["img_server"]."/i_plus.gif width=10 height=10 border=0 alt='продлить аренду' ></a>";
if(time()>$db->row["finish"])
echo"<br><span style='color:darkred;font-weight:bold'>Срок аренды окончен, для дальнейшей работы необходимо продлить аренду.</span>";
echo"<br><br>
<li><a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=change_name><b>Сменить название лотка</b></a><br>
<li><a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=items><b>Предметы на лотке</b></a><br>
<li><a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=bag><b>Наполнение лотка</b></a><br>
";
}
elseif($_GET["act2"]=="change_name")
{
$db->query("select * from market_lotki where id='".$_GET["id"]."'");
$db->fetch_array();
echo"<a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."><b>Управление лотком «".$db->row["name"]."»</b></a><b> // Изменение названия</b><br><br>
Название лавки является уникальным, стоимость изменения названия - <b>10.00</b> золота<br><br>
<form action='market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=change_name' method=post>
Новое название: <input type=text name=name size=22 maxlength=20>
<input type=submit value='подтверждаю изменение' class=button></form>
";
}
elseif($_GET["act2"]=="items")
{
if(!@preg_match("/[0-9]+/",$_GET["cat"]))
$_GET["cat"] = 1;
$db->query("select * from market_lotki where id='".$_GET["id"]."'");
$db->fetch_array();
@preg_match_all("/([0-9]+,[0-9]+,".$_GET["cat"].",[0-9]+(.){0,1}[0-9]*;)/",$db->row["items"],$items);
echo"<a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."><b>Управление лотком «".$db->row["name"]."»</b></a><b> // Содержимое лотка</b><br><br>";
if(!$db->row["items"])
echo"<center>На лотке нет ни одного предмета.</center>";
else
{
echo"<table border=0 width=100% cellspacing=0 cellpadding=5>
<tr>
<td valign=top>";
if(!count($items[0]))
echo"<b><i>Предметы данного вида отсутствуют!</i></b>";
else
{
for($i=0;$i<=count($items[0])-1;$i++)
{
$row = explode(",",$items[0][$i]);
$db2->query("select * from items where id='".$row[0]."' ORDER BY price asc");
$db2->fetch_array();
$row[3] = str_replace(";","",$row[3]);
echo"<table border=0 cellspacing=2 width=200 cellpadding=5 bgcolor=gray>
<tr><td bgcolor=#cbcbb0>".ShowItemParam($myself,$db2->row)."</span></td></tr>
<tr><td bgcolor=#cbcbb0><small>Стоимость: </small><b>".$row[3]."</b></td></tr>
<tr>
<td colspan=2 align=left>
<input type=button class=button value='убрать с продажи' style='font-weight:bold' onclick='if(confirm("Вы действительно хотите убрать с продажи « ".$db2->row["name"]." »?")==true)window.location="market.php?frame=my_lotok&act=manage&act2=items&id=".$_GET["id"]."&cat=".$_GET["cat"]."&return=".$row[1].""'>
</td></tr>
</table><br>";
}
}
echo"</td><td valign=top width=300 bgcolor=#cbcbb0><b>Виды предметов:</b><br><br>";
$file = @file("includes/shop_otdel.dat");
for($i=0;$i<=count($file)-1;$i++)
{
$row = explode("|",$file[$i]);
preg_match_all("/[0-9]+(,)[0-9]+(,".$row[0].",)[0-9]+(.){0,1}[0-9]*(;)/",$db->row["items"],$c_items);
if(count($c_items[0]) > 0)
echo"<li><a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=items&cat=".$row[0]."><b>".$row[1]."</b></a> (".count($c_items[0]).")<br>";
}
echo"</td></tr></table>";
}
}
elseif($_GET["act2"]=="bag")
{
if(!isset($_GET["num"]))
$_GET["num"] = 0;
$db2->query("select name from market_lotki where id='".$_GET["id"]."'");
$db2->fetch_array();
$db->query("select * from bag where owner='".$_SESSION["id"]."' and dressed='n' and present='n' LIMIT ".$_GET["num"].",10");
$db->num_rows();
echo"<a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."><b>Управление лотком «".$db2->row["name"]."»</b></a><b> // Мешок</b><br><br>";
if(!$db->num)
echo"<br><br><center>У вас нет доступных для продажи предметов в мешке.</center>";
else
{
$pages = $db->num/11;
$pages = explode(".",$pages);
echo"Страницы: ";
for($i=0;$i<=$pages[0];$i++)
{
if(($i*10)==$_GET["num"])
echo"<a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=bag&num=".($i*10)." style='color:#B22222;font-weight:bold;text-decoration:underline'><b>".$i."</b></a> ";
else
echo"<a href=market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=bag&num=".($i*10)."><b>".$i."</b></a> ";
}
echo"
<span id=contextmenu style='position:absolute;z-index:100' ></span>
<script language=javascript>
function win(name,pid,min)
{
document.all('contextmenu').innerHTML = '<table border=0 style='border-style: outset; border-width: 2; border-color: #000000' cellspacing=0 cellpadding=9 bgcolor=#3a3a3a width=250 height=50 ><form action='market.php?frame=my_lotok&act=manage&id=".$_GET["id"]."&act2=bag&num=".$_GET["num"]."&return='+pid+'' method=post><tr><td bgcolor=#dad6b7><table border=0 cellspacing=0 cellpadding=0><tr><td width=100%><span><b>«'+name+'»</b></td><td><span onclick="winclose()" style=cursor:hand;color:darkred><b>X</b></span></td></tr><tr><td colspan=2 height=50 valign=bottom>Cтоимость предмета:</span><br> <input type=text name=set_gold size=10 value=0.00> <input type=submit class=button value=`установить` style=`font-weight:bold`></td></tr><tr><td colspan=2 class=comm>Мин. стоимость - <b>'+min+'</b> золота</td></tr></form></table></td></tr></table>';
document.all('contextmenu').style.visibility = 'visible';
document.all('contextmenu').style.left = screen.width/2-160;
document.all('contextmenu').style.top = event.y+document.body.scrollTop-120;
document.all('contextmenu').focus();
}
function winclose()
{
document.all('contextmenu').style.visibility='hidden';
}
</script>
<br><br><table border=0 width=100% cellspacing=0 cellpadding=5><tr><td valign=top>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
$db2->query("select * from items where id='".$db->row["id"]."' ORDER BY price asc");
$db2->fetch_array();
echo"<table border=0 cellspacing=2 width=200 cellpadding=5 bgcolor=gray>
<tr><td bgcolor=#cbcbb0>".ShowItemParam($myself,$db2->row)."</span></td></tr>
<tr><td bgcolor=#cbcbb0><small>Стоимость в лавке: </small><b>".$db2->row["price"]."</b></td></tr>
<tr>
<td colspan=2 align=left>
<input type=button class=button value='положить на лавку' style='font-weight:bold' onclick="win('".$db2->row["name"]."','".$db->row["pid"]."','".ToFloat(($db2->row["price"]*30/100),2)."');">
</td></tr>
</table><br>";
}
echo"</td></tr></table>";
}
}
}
break;
default:
echo"<table border=0 width=100% cellspacing=0 cellpadding=0>
<tr>
<td valign=top>";
switch($_GET["act"])
{
case"search":
echo"<form action='market.php?frame=main&act=search' method=post>
<b>Поиск лотка:</b><br><br>
Владелец(ник): <input type=text name=owner value='".$_POST["owner"]."' size=22 maxlength=20><br>
Название лотка: <b>«</b><input type=text name=name value='".$_POST["name"]."' size=22 maxlength=20><b>»</b> <input type=submit value='найти' class=button>
</form>
<br><span class=comm><b>Внимание!</b> Обязательно должен быть заполнен хотя бы один параметр для поиска.</span>";
if($_POST["owner"] || $_POST["name"])
{
echo"<br><br>";
if($_POST["owner"] && $_POST["name"])
$q = "owner LIKE '%#".$_POST["owner"]."#%' and name='".$_POST["name"]."'";
elseif($_POST["owner"])
$q = "owner LIKE '%#".$_POST["owner"]."#%'";
elseif($_POST["name"])
$q = "name='".$_POST["name"]."'";
$db->query("select * from market_lotki where ".$q);
$db->num_rows();
if(!$db->num)
echo"Ничего не найдено!";
else
echo"Найдено лотков: <b>".$db->num."</b><br><br><table border=0 cellspacing=2 cellpadding=5>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
$row_ch = explode("#",$db->row["owner"]);
echo"<tr>
<td valign=middle bgcolor=#dad6b7>MR".$db->row["id"]."</td>
<td valign=middle bgcolor=#dad6b7><span style='color:#000099'>«".$db->row["name"]."»</span></td>
<td valign=middle bgcolor=#dad6b7>".ch_info($row_ch[1],$row_ch[2],$row_ch[4],$row_ch[3],$config["img_server"])."</td>
<td valign=middle bgcolor=#dad6b7><b>УП: ".$db->row["sold"]."</b></td>
<td bgcolor=#dad6b7 valign=middle><input type=button value='зайти' onclick='window.location="market.php?frame=view&id=MR".$db->row["id"].""' class=button></td>
</tr>
";
}
echo "</table><br>";
}
break;
default:
echo"Используйте поисковую систему, чтобы найти лотки своих друзей либо продавцов.<br>
<a href=market.php?act=search><b>Поиск лотка »»</b></a><br><br>
<form action='market.php' method=get>
<input type=hidden name=frame value=view>
<b>Просмотр лотка</b><br>
Номер лотка: <input type=text name=id size=14> <input type=submit value=' » ' class=button>
</form>
<br><br>";
$db->query("select market_lotki.* from market_lotki,market_advert where market_advert.lotok=market_lotki.id and market_lotki.blocked='0' and market_advert.finish >= now() ORDER BY price LIMIT 5");
$db->num_rows();
if($db->num)
echo"<b>Реклама лотков</b>:<br><br><table border=0 cellspacing=2 cellpadding=10>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
$row_ch = explode("#",$db->row["owner"]);
echo"
<tr>
<td valign=middle bgcolor=#dad6b7>MR".$db->row["id"]."</td>
<td valign=middle bgcolor=#dad6b7><a href=market.php?frame=view&id=MR".$db->row["id"].">«".$db->row["name"]."»</a></td>
<td valign=middle bgcolor=#dad6b7>".ch_info($row_ch[1],$row_ch[2],$row_ch[4],$row_ch[3],$config["img_server"])."</td>
<td valign=middle bgcolor=#dad6b7><b>УП: ".$db->row["sold"]."</b></td>
</tr>n";
}
if($db->num)
echo"</table><br>";
$db->query("select * from market_lotki where blocked='0' ORDER BY sold desc LIMIT 10");
$db->num_rows();
if($db->num)
echo"<b>Самые покупаемые лотки</b>:<br><br><table border=0 cellspacing=2 cellpadding=10>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
$row_ch = explode("#",$db->row["owner"]);
echo"<tr>
<td valign=middle bgcolor=#dad6b7>MR".$db->row["id"]."</td>
<td valign=middle bgcolor=#dad6b7><a href=market.php?frame=view&id=MR".$db->row["id"].">«".$db->row["name"]."»</a></td>
<td valign=middle bgcolor=#dad6b7>".ch_info($row_ch[1],$row_ch[2],$row_ch[4],$row_ch[3],$config["img_server"])."</td>
<td valign=middle bgcolor=#dad6b7><b>УП: ".$db->row["sold"]."</b></td>
</tr>";
}
if($db->num)
echo"</table><br>";
break;
}
echo"</td>
<td width=300 align=right valign=top>
Вы можете арендовать себе лоток на рынке, чтобы продавать свои товары 24 часа в сутки по выгодным ценам.<br><br>
<input type=button value='Арендовать лоток' class=button onclick='window.location="market.php?frame=my_lotok&act=arenda"'><br><br>";
$db->query("select id from market_lotki where owner LIKE '".$_SESSION["id"]."#%'");
$db->num_rows();
if($db->num)
echo"<b>Ваши лотки:</b><br><br>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
echo "<b>".$i.".</b> <a href=market.php?frame=my_lotok&act=manage&id=MR".$db->row["id"]."><b>MR".$db->row["id"]."</a></b><br>";
}
echo"
</td>
</tr>
</table>";
break;
}
echo"</td></tr>
</table>
<body></html>";
?>