Файл: _gladiators2_/gladiators2/gladiators/gladiators/system/modules/mod_coliseum_m_single.php
Строк: 92
<?
function clear_request()
{
global $DOCUMENT_ROOT;
$find = 1;
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat");
$find = 0;
for($i=0;$i<=count($file)-1;$i++)
{
$row = explode("|",$file[$i]);
$Rtime = explode(":",$row[0]); // Request time
$Ctime = explode(":",Date("H:i")); // Current time
$Rtime_m = $Rtime[0]*60 + $Rtime[1];
$Ctime_m = $Ctime[0]*60 + $Ctime[1];
if(($Ctime_m - $Rtime_m) > 60)
{ $find = 1; unset($file[$i]); }
}
if($find)
{
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","w");
@flock($fp,2);
@fwrite($fp,implode("",$file));
@flock($fp,3);
@fclose($fp);
}
}
if($_POST["do"]=="send_request" && preg_match("/^(3|5|10|15)$/",$_POST["timeout"]) && preg_match("/^(fisticuffs|arm)$/",$_POST["battle"]))
{
if(!check_request($_SESSION["login"]) && !check_partaker($_SESSION["login"]))
{
if($user->hp < ($user->maxhp/2))
$error_msg = "Вы слишком слабы, восстановитесь...";
elseif($user->level < 5 && $_POST["battle"]=="arm")
$error_msg = "Бои с оружием проводятся только с 5-го уровня!";
elseif(check_group_partaker($_SESSION["login"]))
$error_msg = "Вы уже учавствуете в групповом поединке!";
elseif(check_clan_partaker($_SESSION["login"]))
$error_msg = "Вы уже учавствуете в клановом поединке!";
elseif($user->level > 19)
$error_msg = "В Среднем Зале не проводятся бои вашего уровня!";
else
{
sleep(2);
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","a+");
@flock($fp,2);
@fwrite($fp,Date("H:i")."|".$_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align."||".($_POST["timeout"]*60)."|".$_POST["battle"]."|n");
@flock($fp,3);
@fclose($fp);
}
}
}
if($_POST["do"]=="take_away")
{
$find = 0;
if(check_request($_SESSION["login"]))
{
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat");
for($i=0;$i<=(count($file)-1);$i++)
{
$row = explode("|",$file[$i]);
if(preg_match("/^(".$_SESSION["login"]."#)/",$row[1]) && $row[2]=="")
{
unset($file[$i]);
$find = 1;
}
}
if($find)
{
sleep(2);
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","w");
@flock($fp,2);
@fwrite($fp,implode("",$file));
@flock($fp,3);
@fclose($fp);
}
}
}
if($_POST["do"]=="accept" && $_POST["ch"])
{
if(check_request($_POST["ch"]))
{
if($user->hp < ($user->maxhp/2))
$error_msg = "Вы слишком слабы, восстановитесь...";
elseif($user->level > 19)
$error_msg = "В Среднем Зале не проводятся бои вашего уровня!";
elseif(check_group_partaker($_SESSION["login"]))
$error_msg = "Вы уже учавствуете в групповом поединке!";
elseif(check_clan_partaker($_SESSION["login"]))
$error_msg = "Вы уже учавствуете в клановом поединке!";
else
{
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat");
for($i=0;$i<=(count($file)-1);$i++)
{
$row = explode("|",$file[$i]);
if(preg_match("/^(".$_POST["ch"]."#)/",$row[1]) && $row[2]=="")
{
$row[2] = $_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align;
$file[$i] = implode("|",$row);
$find = 1;
}
}
if(!$find)
$error_msg = "Возможно заявку персонажа уже приняли до вас...";
if($find)
{
sleep(2);
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","w");
@flock($fp,2);
@fwrite($fp,implode("",$file));
@flock($fp,3);
@fclose($fp);
}
}
}
}
if($_POST["do"]=="disagree")
{
sleep(2);
if(check_partaker($_SESSION["login"]))
{
$file = file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat");
for($i=0;$i<=(count($file)-1);$i++)
{
$row = explode("|",$file[$i]);
if(preg_match("/^(".$_SESSION["login"]."#)/",$row[2]))
{
$row[2] = "";
$file[$i] = implode("|",$row);
$find = 1;
}
}
if($find)
{
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","w");
@flock($fp,2);
@fwrite($fp,implode("",$file));
@flock($fp,3);
@fclose($fp);
}
}
}
if($_POST["do"]=="cancel" && $_POST["partaker"])
{
sleep(2);
if(check_request($_SESSION["login"]))
{
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat");
for($i=0;$i<=(count($file)-1);$i++)
{
$row = explode("|",$file[$i]);
if(preg_match("/^(".$_SESSION["login"]."#)/",$row[1]) && preg_match("/^(".$_POST["partaker"]."#)/",$row[2]))
{
$row[2] = "";
$file[$i] = implode("|",$row);
$find = 1;
}
}
if($find)
{
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","w");
@flock($fp,2);
@fwrite($fp,implode("",$file));
@flock($fp,3);
@fclose($fp);
}
}
}
if($_POST["do"]=="battle")
{
sleep(5);
if(check_request($_SESSION["login"]))
{
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat");
for($i=0;$i<=(count($file)-1);$i++)
{
$row = explode("|",$file[$i]);
if(preg_match("/^(".$_SESSION["login"]."#)/",$row[1]) && preg_match("/^(".$_POST["partaker"]."#)/",$row[2]))
{
$my = explode("#",$row[1]);
$opponent = explode("#",$row[2]);
$partaker = new UserDate;
$partaker->get_info("id;level;klan;align;",$_POST["partaker"]);
if($row[4]=="fisticuffs") {
dress_out_all($db,$partaker->id);
dress_out_all($db,$_SESSION["id"]);
}
$data = $_SESSION["id"]."#".$_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align.";".$partaker->id."#".$_POST["partaker"]."#".$partaker->level."#".$partaker->klan."#".$partaker->align.";";
@mysql_query("insert into battle(start,side1,side2,timeout,kick_time,hp,data,battle,hall) values('".time()."', '".$_SESSION["id"].";', '".$partaker->id.";', '".$row[3]."','".$_SESSION["id"]."=".time().";".$partaker->id."=".time().";','".$_SESSION["id"]."=0;".$partaker->id."=0;','".$data."','".$row[4]."','middle')");
$battle_id = @mysql_insert_id();
@mysql_query("update users set battle_id='".$battle_id."' where id=".$_SESSION["id"]." or id='".$partaker->id."'");
$user->battle_id = $battle_id;
@mysql_query("insert into battle_logs(battle_id,cmt_id,time,type,ch1,ch2) values('".$battle_id."','1','".time()."','greating','".$_SESSION["id"]."','".$partaker->id."')");
unset($file[$i]);
$find = 1;
break;
}
}
if($find)
{
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/single.dat","w");
@flock($fp,2);
@fwrite($fp,implode("",$file));
@flock($fp,3);
@fclose($fp);
@Header("Location: /battle.php");
}
}
}
?>