Вход Регистрация
Файл: _gladiators2_/gladiators2/gladiators/gladiators/system/modules/mod_coliseum_s.php
Строк: 155
<?

function clear_request()
{
 global 
$DOCUMENT_ROOT;

 
$find 1;

 
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat");
 
 
$find 0;

 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);

  if( 
time()-$row[0] >= 900 )
  { 
$find 1; unset($file[$i]); }
 }

 if(
$find)
 {
  
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat","w");
  @
flock($fp,2);
  @
fwrite($fp,implode("",$file));
  @
flock($fp,3);
  @
fclose($fp);
 }
}

function 
check_request($login)
{
 global 
$DOCUMENT_ROOT;

 
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat");
 
 
$find 0;

 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);
  
  if(
preg_match("/^(".$login."#)/",$row[1]))
   
$find 1;
 }

 return 
$find;
}

function 
check_partaker($login)
{
 global 
$DOCUMENT_ROOT;

 
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat");
 
 
$find 0;

 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);
  
  if(
preg_match("/^(".$login."#)/",$row[2]))
   
$find 1;
 }

 return 
$find;
}

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 && $_POST["battle"]=="arm")
   
$error_msg "Бои с оружием проводятся только с 5-го уровня!";
  elseif(
$user->level 9)
   
$error_msg "В Малом Зале не проводятся бои вашего уровня!";
  else
  {
   
sleep(2);

   
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat","a+");
   @
flock($fp,2);
   @
fwrite($fp,time()."|".$_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_s/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_s/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 9)
   
$error_msg "В Малом Зале не проводятся бои вашего уровня!";
  else
  {
   
$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("/^(".$_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_s/single.dat","w");
    @
flock($fp,2);
    @
fwrite($fp,implode("",$file));
    @
flock($fp,3);
    @
fclose($fp);
   }
  }
 }
}

if(
$_POST["do"]=="disagree")
{


 if(
check_partaker($_SESSION["login"]))
 {
  
$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[2]))
   {
    
$row[2] = "";
    
$file[$i] = implode("|",$row);
    
$find 1;
   } 
  }

  if(
$find)
  {
   
sleep(2);

   
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat","w");
   @
flock($fp,2);
   @
fwrite($fp,implode("",$file));
   @
flock($fp,3);
   @
fclose($fp);
  }
 }
}

if(
$_POST["do"]=="cancel" && $_POST["partaker"])
{
 if(
check_request($_SESSION["login"]))
 {
  
$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]) && preg_match("/^(".$_POST["partaker"]."#)/",$row[2]))
   {
    
$row[2] = "";
    
$file[$i] = implode("|",$row);
    
$find 1;
   } 
  }

  if(
$find)
  {
   
sleep(2);

   
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat","w");
   @
flock($fp,2);
   @
fwrite($fp,implode("",$file));
   @
flock($fp,3);
   @
fclose($fp);
  }
 }  
}

if(
$_POST["do"]=="battle")
{
 if(
check_request($_SESSION["login"]))
 {
  
sleep(5);

  
$file = @file($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat");

  
$i 0;
  
$find 0;

  while(
$i<=(count($file)-1) && !$find) {

    
$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]."','small')");
        
$battle_id = @mysql_insert_id();
        @
mysql_query("update users set battle_id='".$battle_id."' where id=".$_SESSION["id"]." or id='".$partaker->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."')");

        
$user->battle_id $battle_id;

        unset(
$file[$i]);
        
$find 1;
    } 
    
$i++;
  }

  if(
$find)
  {
   
$fp = @fopen($DOCUMENT_ROOT."/database/coliseum/coliseum_s/single.dat","w");
   @
flock($fp,2);
   @
fwrite($fp,implode("",$file));
   @
flock($fp,3);
   @
fclose($fp);

   @
Header("Location: /battle.php");
   exit();
  }

 }  
}

if(
$_POST["do"]=="battle_clone")
{
  
  if(
$user->hp < ($user->maxhp 50) / 100)
   
$error_msg "вы слишком слабы, чтобы сражаться";
  elseif(
$user->level 9)
   
$error_msg "В Малом Зале не проводятся бои вашего уровня!";
  elseif(
check_request($_SESSION["login"]))
   
$error_msg "Для начала заберите свою заявку в одиночных боях!";
  elseif(
check_partaker($_SESSION["login"]))
   
$error_msg "Вы уже приняли заявку на участие в одиночном бою!"
  elseif(!
$user->battle_id)
  {

   
dress_out_all($db,$_SESSION["id"]);

   
$res = @mysql_query("select sum(ups) from exptable where id <= ".$user->num_up);
   
$r = @mysql_fetch_array($res);
   
$ten_perc $r[0] * 10 100;
   
$stat round($r[0] / 4);
 
   
$u round(rand($stat $ten_perc,$stat $ten_perc));

   
$stat round(($r[0] - $u) / 3);
   
$ten_perc = ($r[0] - $u) * 10 100;
   
$g round(rand($stat $ten_perc,$stat $ten_perc));

   
$stat round(($r[0] - $u $g) / 2);
   
$ten_perc = ($r[0] - $u $g) * 10 100;
   
$l round(rand($stat $ten_perc,$stat $ten_perc));

   
$z $r[0] - $u $g $l;

   
$u += 5;
   
$g += 5;
   
$l += 5;
   
$z += 5;

   
$start Date("Y-m-d H:i:s");
   
$opp_login $_SESSION["login"]."(клон)";


   
sleep(3);

   @
mysql_query("insert into temp(login,level,u,g,l,z,icon,klan,hp,maxhp,align) values('".$opp_login."','$user->level','".$u."','".$g."','".$l."','".$z."','$user->icon','$user->klan','".($z*5)."','".($z*5)."','".$user->align."')");
   
$opp_id = @mysql_insert_id();

   
$data $_SESSION["id"]."#".$_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align.";".$opp_id."#".$_SESSION["login"]."(клон)#".$user->level."#".$user->klan."#".$user->align.";";

   
$res = @mysql_query("insert into battle(start,timeout,side1,side2,kick_time,hp,data,type,hall) values('".time()."','600','".$_SESSION["id"].";','".$opp_id.";','".$_SESSION[id]."=".time().";".$opp_id."=".time().";','".$_SESSION[id]."=0;".$opp_id."=0;','".$data."','bot','small')");
   
$battle_id = @mysql_insert_id();
   @
mysql_query("update users set battle_id='".$battle_id."' where id='".$_SESSION["id"]."'");

   if(
$res)
   {
    @
mysql_query("insert into battle_logs(battle_id,cmt_id,time,type,ch1) values('".$battle_id."','0','".time()."','greating','".$_SESSION["id"]."')");

    @
Header("Location: /battle.php");
    exit();
   }
  }
}
?>
Онлайн: 1
Реклама