Файл: _gladiators2_/gladiators2/gladiators/gladiators/system/modules/mod_coliseum_m_clan.php
Строк: 47
<?
//------------------------------------------
// Check Request && Begun Battle
$find = 1;
$file = file($DOCUMENT_ROOT."/database/coliseum/coliseum_m/clan.dat");
$find = 0;
for($i=0;$i<=count($file)-1;$i++)
{
$row = explode("|",$file[$i]);
if($row[2] <= time() && !$row[8])
{
unset($file[$i]);
$find = 1;
}
elseif($row[2] <= time() && $row[7] && $row[8])
{
$battle_id = time();
$start = Date("Y-m-d H:i:s");
$side1 = "";
$side2 = "";
$side1_users = "";
$side2_users = "";
$kick_time = "";
$hp = "";
$q = "";
$mybattle = 0;
$row_1 = explode(";",$row[7]);
$row_2 = explode(";",$row[8]);
$row_3 = explode(";",($row[7].$row[8]));
for($j=0;$j<=count($row_3)-2;$j++)
{
$row_user = explode("#",$row_3[$j]);
$kick_time .= $row_user[0]."=".time().";";
}
for($j=0;$j<=count($row_3)-2;$j++)
{
$row_user = explode("#",$row_3[$j]);
$hp .= $row_user[0]."=0;";
}
for($j=0;$j<=count($row_3)-2;$j++)
{
$row_user = explode("#",$row_3[$j]);
if($row_user[0]==$_SESSION["id"] && !$mybattle)
$mybattle = 1;
if(!$j)
$q = "id='".$row_user[0]."'";
else
$q .= " or id='".$row_user[0]."'";
}
mysql_query("LOCK TABLES battle");
$res = mysql_query("insert into battle(start,timeout,side1,side2,kick_time,hp,data,type,hall) values('".time()."','".$row[4]."','".$side1."','".$side2."','".$kick_time."','".$hp."','".($row[7].$row[8])."','clan','middle')");
$battle_id = mysql_insert_id();
mysql_query("UNLOCK TABLES");
if($res)
{
mysql_query("update users set battle_id='".$battle_id."' where ".$q);
mysql_query("insert into battle_logs(battle_is,cmt_id,time,type) values('".$battle_id."','4','".time()."','greating')");
unset($file[$i]);
$find = 1;
}
}
}
if($find)
{
$fp = fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/clan.dat","w");
flock($fp,2);
fwrite($fp,implode("",$file));
flock($fp,3);
fclose($fp);
}
if($mybattle)
{
$user->battle_id = $battle_id;
Header("Location: /battle.php");
exit();
}
//-------------------------------------------
if($_POST["do"]=="send_clan_request"
&& preg_match("/^(3|5|10|15)$/",$_POST["timeout"])
&& preg_match("/^(fisticuffs|arm)$/",$_POST["battle"])
&& preg_match("/^(10|20|30|60)$/",$_POST["begun"])
&& $_POST["side_1"]==$user->klan
&& $_POST["side_2"]!=$user->klan
&& preg_match("/^[-a-zA-Z_s]+$/",$_POST["side_2"])
)
{
sleep(2);
if(!check_clan_partaker($_SESSION["login"]))
{
$db->query("select name from clans where name='".$_POST["side_2"]."'");
$db->fetch_array();
$db->num_rows();
if(!$db->num)
$error_msg = "Указаный вами клан соперников не существует!";
elseif($user->hp < ($user->maxhp/2))
$error_msg = "Вы слишком слабы, восстановитесь...";
elseif($user->level > 19)
$error_msg = "В Среднем Зале не проводятся бои вашего уровня!";
elseif(check_request($_SESSION["login"]))
$error_msg = "Для начала заберите свою заявку в одиночных боях!";
elseif(check_group_partaker($_SESSION["login"]))
$error_msg = "Вы уже учавствуете в групповых боях!";
else
{
$fp = fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_m/clan.dat","a+");
flock($fp,2);
fwrite($fp,time()."|".Date("H:i")."|".(time()+$_POST["begun"]*60)."|".$_POST["battle"]."|".($_POST["timeout"]*60)."|".$user->klan."|".$db->row["name"]."|".$user->id."#".$_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align.";||n");
flock($fp,3);
fclose($fp);
}
}
}
?>