Файл: _gladiators2_/gladiators2/gladiators/gladiators/coliseum_s.php
Строк: 356
<?
@session_start();
if(!$_SESSION["id"])
{
echo"<script language=Javascript>top.window.location='/index.php';</script>";
exit();
}
$hp_player_id = $_SESSION["id"];
include("connect.php"); // Коннектимся к БД
include("includes/redir.php");
include("includes/hp.php");
include("system/config/servers.php");
include("system/config/values.php");
include("includes/std.h.php");
include("system/class/main_class.php");
include("system/class/unfo_class.php");
$db = new DBconn;
$db->Conn("greece",$server_conf);
$user = new UserDate;
$user->get_info("id;login;battle_id;locate;hp;maxhp;level;klan;num_up;align;",$_SESSION["id"]);
if($user->locate!="coliseum_s" && $user->locate!="coliseum")
{
if(preg_match("/^[0-3]$/",$user->locate))
Header("Location: map.php?pl=".$user->locate);
else
Header("Location: ".$user->locate.".php");
}
$user->locate = "coliseum_s";
if($_SESSION["room"]!="coliseum_s")
{
session_register('room');
$room = "coliseum_s";
echo"<script language=javascript>top.frames['online'].window.location.reload();</script>";
}
include("system/modules/mod_coliseum_s.php");
$user->ReWrite();
if(!$_GET["type"] && (check_request($_SESSION["login"]) || check_partaker($_SESSION["login"])))
$_GET["type"] = "single";
echo"<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<link rel=stylesheet href=/css/index.css>
</head>
<body bgcolor=#e5e1be>
<center>
<table border=0 cellspacing=8 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="coliseum_s.php?type=".$_GET["type"].""'>
<input type=image src='".$config["img_server"]."/b_back.gif' value='вернуться' onclick='javascript:top.frames["main"].window.location="coliseum.php"'><br>";
echo"</td>
</tr>
<tr><td colspan=2>";
echo"<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr><td colspan=2 align=right height=30><big><b>Малый зал</b></big></td></tr>
<tr>
<td valign=top>
<table border=0 cellspacing=0 cellpadding=1>
<tr>
<td><input type=image src='".$config["img_server"]."/b_single.gif' value='Одиночные бои' class=button onclick='window.location.href="coliseum_s?type=single"'></td>
<td><input type=image src='".$config["img_server"]."/b_clone.gif' value='Бои с клоном' class=button onclick='window.location.href="coliseum_s?type=clone"'></a></td>
</tr>
<tr><td height=3 ";
if($_GET["type"]=="single")
echo"bgcolor=darkgreen";
echo"></td>
<td height=3 ";
if($_GET["type"]=="clone")
echo"bgcolor=darkgreen";
echo"></td>
</tr>
</table>
</td>
<td align=right valign=top rowspan=2>
<input type=button value='Текущие бои' class=button onclick='window.location.href="coliseum_s?type=current"'><br>
<input type=button value='Архив боёв' class=button onclick='window.location.href="coliseum_s?type=archive"'>
</td></tr>
<tr><td valign=top>";
switch($_GET["type"])
{
default:
echo"<br><b>^ Выберите тип боя</b>";
break;
case"single":
echo"
<script language=JavaScript>
function Refresh()
{
window.location='coliseum_s.php?type=".$_GET["type"]."';
setTimeout("Refresh();",60*1000);
}
setTimeout("Refresh();",60*1000);
</script>";
clear_request(); // Clear old request, more than 1 hour
$check_request = check_request($_SESSION["login"]);
$check_partaker = check_partaker($_SESSION["login"]);
$file = file("database/coliseum/coliseum_s/single.dat");
$count = count($file);
echo"<br>";
if($error_msg)
echo"<span style='color:darkred;font-weight:bold;'>".$error_msg."</span><br>";
echo"<table border=0 cellspacing=0 cellpadding=5><tr><td>";
if($check_request)
{
$file = file($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat");
for($i=0;$i<=(count($file)-1);$i++)
{
$row = explode("|",$file[$i]);
if(preg_match("/^(".$_SESSION["login"]."#)/",$row[1]) && $row[2])
{
$row_partaker = explode("#",$row[2]);
echo"<span style='color:darkred;font-weight:bold'>Внимание!</span> Вашу заявку принял персонаж </b>".ch_info($row_partaker[0],$row_partaker[1],$row_partaker[3],$row_partaker[2],$config["img_server"]).".<br> Вам нужно принять вызов или отказать в поединке.</b><br><table border=0 width=100%><tr><td align=right><table border=0><form action='coliseum_s.php?type=single' method=post><input type=hidden name=do value='cancel'><input type=hidden name=partaker value='".$row_partaker[0]."'><tr><td><input type=submit value='Отказать' class=button_s></td></form><form action='coliseum_s.php?type=single' method=post><input type=hidden name=do value='battle'><input type=hidden name=partaker value='".$row_partaker[0]."'><td><input type=submit value='Начать поединок' class=button_s></td></tr></form></table></td></tr></table><br>";
}
}
}
if(!$check_request && !$check_partaker)
echo"<form action='coliseum_s.php?type=single' method=post><input type=hidden name=do value='send_request'>Таймаут: <select name=timeout><option value=3>3 мин.<option value=5>5 мин.<option value=10>10 мин.<option value=15>15 мин.</select> Тип боя: <select name=battle><option value='fisticuffs'>Без оружия<option value='arm'>С оружием</select> <input type=submit value='подать заявку' class=button></form><br><br><form action='coliseum_s.php?type=single' method=post name=accept><input type=hidden name=do value='accept'><input type=submit value='принять заявку' class=button>";
elseif($check_request)
echo"<form action='coliseum_s.php?type=single' method=post ><input type=hidden name=do value='take_away'><input type=submit value='забрать заяку' class=button></form>";
elseif($check_partaker)
echo"<b>Ожидается подтверждения боя.</b><br><br><form action='coliseum_s.php?type=single' method=post ><input type=hidden name=do value='disagree'><input type=submit value='забрать заявку' class=button></form>";
echo"</td></tr>";
$battle_type["fisticuffs"] = "без оружия";
$battle_type["arm"] = "с оружием";
for($i=$count-1;$i>=0;$i--)
{
$row = explode("|",$file[$i]);
$u_row = explode("#",$row[1]);
if(!$row[2] || (preg_match("/^(".$_SESSION["login"]."#)/",$row[2]) || preg_match("/^(".$_SESSION["login"]."#)/",$row[1])))
{
echo"<tr><td><table border=0 cellspacing=2 cellpadding=5>
<tr>
<td bgcolor=#cbcbb0><span style='color:#62665c;font-weight:bold'>".Date("H:i",$row[0])."</span></td>
<td bgcolor=#cbcbb0>
<span class=comm><b>Таймаут:</b> ".($row[3]/60)." мин.
<b>Тип боя:</b> ".$battle_type[$row[4]].".</span></td>
</tr>
<tr>
<td bgcolor=#dad6b7 align=center rowspan=2>
";
if($u_row[0]==$_SESSION["login"])
echo"<input type=radio name=ch value='".$u_row[0]."' disabled>";
else
echo"<input type=radio name=ch value='".$u_row[0]."'>";
echo"</td><td bgcolor=#dad6b7>".ch_info($u_row[0],$u_row[1],$u_row[3],$u_row[2],$config["img_server"])."
</td></tr><tr>
<td bgcolor=#dad6b7 width=100%>";
if($row[2])
{
$row_partaker = explode("#",$row[2]);
echo"ожидается подтверждение боя с </span>".ch_info($row_partaker[0],$row_partaker[1],$row_partaker[3],$row_partaker[2],$config["img_server"])."";
}
else
echo"место оппонента свободно";
echo"</td></tr></table>";
echo"</td></tr>";
}
}
echo"<tr><td>";
if(!$check_request && !$check_partaker)
echo"<input type=button value='принять заявку' class=button onclick='javascript:document.all("accept").submit();'></form>";
echo"</td></tr></table>";
break;
case"clone":
echo"<br>";
if($error_msg)
echo"<span style='color:darkred;font-weight:bold;'>".$error_msg."</span><br><br>";
echo"Бои с клоном доступны только персонажам 1-19 уровня в целях тренировки и повышения опыта.<br>
Клон отличается от вас только статами, так как он самостоятельно выставляет себе статы перед каждым боем, количество сататов совпадает с вашим.<br><br>
Основной особенностью боя с клоном является количество опыта, которое вы получаете за бой и отсутствие призового фонда. <br>В резульате победы вы получите только <b>50%</b> опыта, положенного вам по уровню.<br><br>
<form action='coliseum_s.php?type=clone' method=post>
<input type=hidden name=do value='battle_clone'>
<input type=submit value='Вызвать клона' class=button>
</form>
";
break;
case"current":
$battle_type["fisticuffs"] = "без оружия";
$battle_type["arm"] = "с оружием";
echo"<br><b>Текущие бои в Малом зале:</b><br><br>";
$db->query("select battle.* from battle,battle_logs where battle.winner='' and battle.hall='small' and battle_logs.battle_id=battle.id and ".time()."-battle_logs.time <= 900 GROUP BY battle_logs.battle_id ORDER BY battle.start desc");
$db->num_rows();
if(!$db->num)
echo"в данный момент поединки не проводятся";
echo"<table border=0 cellspacing=0 cellpadding=5>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
$side1 = explode(";",$db->row["side1"]);
$side2 = explode(";",$db->row["side2"]);
echo"<tr><td><table border=0 cellspacing=2 cellpadding=5><tr><td rowspan=2 bgcolor=#dad6b7>".$i.".</td><td rowspan=2 bgcolor=#dad6b7 valign=top><span style='color:62665c;font-weight:bold' class=comm>".Date("d.m.Y H:i:s",$db->row["start"])."</span><span class=comm><br>таймаут: ".($db->row["timeout"]/60)." мин.<br><u>".$battle_type[$db->row["battle"]]."</u><br><b><a href='/inform/battle_".$db->row["id"].".html' target=_blank class=comm><b>комментарий боя »»</b></a></span></span></td><td bgcolor=#dad6b7>";
for($j=0;$j<=count($side1)-2;$j++)
{
if($j)
echo", ";
preg_match_all("/(^|;)(".$side1[$j]."#)[-a-zA-Zа-яА-Я0-9_s]+(#)[0-9]+(#)[-a-zA-Z0-9_]*(#)[0-9]*(;)/",$db->row["data"],$data);
$t = str_replace(";","",$data[0][0]);
$user_vars = explode("#",$t);
echo ch_info($user_vars[1],$user_vars[2],$user_vars[4],$user_vars[3],$config["img_server"]);
}
echo"</td></tr><tr><td bgcolor=#dad6b7>";
for($j=0;$j<=count($side2)-2;$j++)
{
if($j)
echo", ";
preg_match_all("/(^|;)(".$side2[$j]."#)[-a-zA-Zа-яА-Я0-9()_s]+(#)[0-9]+(#)[-a-zA-Z0-9_]*(#)[0-9]*(;)/",$db->row["data"],$data);
$t = str_replace(";","",$data[0][0]);
$user_vars = explode("#",$t);
echo ch_info($user_vars[1],$user_vars[2],$user_vars[4],$user_vars[3],$config["img_server"]);
}
echo"</td></tr></table></td></tr>";
}
echo"</table>";
break;
case"archive":
if(!$_GET["date"])
$_GET["date"] = Date("d.m.Y");
if(!$_GET["ch_login"])
$_GET["ch_login"] = $_SESSION["login"];
$_GET["do"] = "search";
$battle_type["fisticuffs"] = "без оружия";
$battle_type["arm"] = "с оружием";
echo"<br><b>Архив боёв в Малом зале:</b><br><br>
<ul>
<table border=0 cellspacing=1 cellpadding=3>
<form action='coliseum_s.php' method=get>
<input type=hidden name=type value='".$_GET["type"]."'>
<input type=hidden name=do value='search'>
<tr>
<td width=165 bgcolor=#cbcbb0 class=comm><b>Ник персонажа:</b></td>
<td width=165 bgcolor=#cbcbb0 class=comm><b>Дата поединка:</b></td>
</tr>
<tr>
<td bgcolor=#ded2a8><input type=text name=ch_login value='".$_GET["ch_login"]."' style='width:165px' ></td>
<td bgcolor=#ded2a8><input type=text name=date value='".$_GET["date"]."' size=12 style='width:100%'></td>
</tr>
<tr><td colspan=2><input type=submit value='найти бои' class=button ></td></td></tr>
</form>
</table></ul>";
if($_GET["ch_login"] && $_GET["date"] && $_GET["do"]=="search")
{
$db->query("select id,login from users where login='".$_GET["ch_login"]."'");
$db->num_rows();
if(!$db->num)
$error_msg = "Указанный персонаж не существует!";
elseif(!preg_match("/[0-9]{2}.[0-9]{2}.[0-9]{4}/",$_GET["date"]))
$error_msg = "Не верная дата, она должна соответствовать формату: dd.mm.yyyy.";
else
{
$db->fetch_array();
$_GET["ch_login"] = $db->row["login"];
$ch_id = $db->row["id"];
$d = explode(".",$_GET["date"]);
$time = mktime(0,0,0,$d[1],$d[0],$d[2]);
$forward = $time + (3600*24);
$back = $time - (3600*24);
echo"<a href='/coliseum_s.php?type=archive&do=search&ch_login=".$_GET["ch_login"]."&date=".Date("d.m.Y",$back)."'>« предыдущий день</a> | ";
echo"<a href='/coliseum_s.php?type=archive&do=search&ch_login=".$_GET["ch_login"]."&date=".Date("d.m.Y",$forward)."'>следующий день »</a><br><br>";
$db->query("select id,start,side1,side2,winner,timeout,type,battle,data from battle where (side1 LIKE '".$ch_id.";%' or side1 LIKE '%;".$ch_id.";%' or side2 LIKE '".$ch_id.";%' or side2 LIKE '%;".$ch_id.";%') and start >= ".$time." and start <= ".($time+86400)." and hall='small' ORDER BY start desc");
$db->num_rows();
if(!$db->num)
echo"За указанную дату не найдено ни одного боя с участием персонажа!".$_POST["ch_login"];
echo"<table border=0 cellspacing=0 cellpadding=5>";
for($i=1;$i<=$db->num;$i++)
{
$db->fetch_array();
$side1 = explode(";",$db->row["side1"]);
$side2 = explode(";",$db->row["side2"]);
echo"<tr><td><table border=0 cellspacing=2 cellpadding=5><tr><td rowspan=2 bgcolor=#dad6b7>".$i.".</td><td rowspan=2 bgcolor=#dad6b7 valign=top><span style='color:62665c;font-weight:bold' class=comm>".Date("d.m.Y H:i:s",$db->row["start"])."</span><span class=comm><br>таймаут: ".($db->row["timeout"]/60)." мин.<br><u>".$battle_type[$db->row["battle"]]."</u><br><b><a href='/inform/battle_".$db->row["id"].".html' target=_blank class=comm><b>комментарий боя »»</b></a></span></span></td><td bgcolor=#dad6b7>";
for($j=0;$j<=count($side1)-2;$j++)
{
if($j)
echo", ";
preg_match_all("/(^|;)(".$side1[$j]."#)[-a-zA-Zа-яА-Я0-9_s]+(#)[0-9]+(#)[-a-zA-Z0-9_]*(#)[0-9]*(;)/",$db->row["data"],$data);
$t = str_replace(";","",$data[0][0]);
$user_vars = explode("#",$t);
echo ch_info($user_vars[1],$user_vars[2],$user_vars[4],$user_vars[3],$config["img_server"]);
}
if($db->row["winner"]=="side1")
echo" <span style='color:darkred;font-weight:bold;'>победитель</span>";
echo"</td></tr><tr><td bgcolor=#dad6b7>";
for($j=0;$j<=count($side2)-2;$j++)
{
if($j)
echo", ";
preg_match_all("/(^|;)(".$side2[$j]."#)[-a-zA-Zа-яА-Я0-9()_s]+(#)[0-9]+(#)[-a-zA-Z0-9_]*(#)[0-9]*(;)/",$db->row["data"],$data);
$t = str_replace(";","",$data[0][0]);
$user_vars = explode("#",$t);
echo ch_info($user_vars[1],$user_vars[2],$user_vars[4],$user_vars[3],$config["img_server"]);
}
if($db->row["winner"]=="side2")
echo" <span style='color:darkred;font-weight:bold;'>победитель</span>";
echo"</td></tr></table></td></tr>";
}
}
}
if($error_msg)
echo"<span style='color:darkred;font-weight:bold'>".$error_msg."</span>";
break;
}
echo"</td></tr>
</table>";
?>