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

if($_GET["act"]=="block")
{
 if(
$_GET["do"]=="block" && preg_match("/^[-a-zA-Zа-яА-Я0-9_s]+$/",$_POST["who"]) && $_POST["why"] && preg_match("/^(0|1)$/",$_POST["type"]))
 {
  
$_POST["why"] = htmlspecialchars($_POST["why"]);

  
$db->query("select block_on,block_level from admin_users where user_id='".$_SESSION["id"]."'");
  
$db->num_rows();
  
$db->fetch_array();

  if(!
$db->num || $db->row["block_on"]=="0")
   
$error_msg "У вас нет прав отправлять персонажей в тюрьму!";
  else
  {
   
$result_who mysql_query("select id,login,level from users where login='".$_POST["who"]."'");
   
$num_who mysql_num_rows($result_who);
   
$row_who mysql_fetch_array($result_who);

   if(
strlen($_POST["why"])>255)
    
$error_msg "Поле причина не может быть больше чем 255 символов.";
   elseif(
preg_match("/^[1-9][0-9]{,1}$/",$_POST["period"]) && $_POST["period"]!="0")
    
$error_msg "Не верно указан срок тюремного заключения!";
   elseif(!
$num_who
    
$error_msg "Персонаж не существует!";
   elseif(
$row_who["login"]==$_SESSION["login"])
    
$error_msg "Подумайте, перед тем, как добровольно отправиться в тюрьму!";
   elseif(
$row_who["level"] > $db->row["block_level"])
    
$error_msg "Ваши права не позволяют отправлять в тюрьму персонажа старше ".$db->row["block_level"]." уровня!";
   elseif(
check_block($row_who["login"]))
    
$error_msg "Персонаж уже находиться в тюрьме!";
   else
   {
    
$time Date("d.m.y H:i");
    
$_POST["why"] = str_replace("rn"," ",$_POST["why"]);

    if(
$_POST["period"]!="0")
     
$finish = (time()+($_POST["period"]*86400));
    else
     
$finish 0;

    
$file fopen($DOCUMENT_ROOT."/database/ban/list.dat""a+");
    
flock($file,2);
    
fwrite($file,$row_who["login"]."|".$_POST["why"]."|".time()."|".$finish."|".$_POST["type"]."|n");
    
flock($file,3);
    
fclose($file);

    if(
$_POST["type"]=="0")
    {
     
$type_text "условное";
     
$type_text2 "условного";
    }
    else
    {
     
$type_text "полное";
     
$type_text2 "полного";
    }

    if(
$_POST["period"]=="0")
    
$end "бессрочно";
    else
    
$end "на ".$_POST["period"]." дн. ".$type_text2." заключения.";

    
private_add($row_who["id"],$_SESSION["login"],"Персонаж отправлен в тюрьму на ".$_POST["period"]." дн. ".$type_text2." заключения.");
    
private_add($_SESSION["id"],"admin panel","Отправил в тюрьму персонажа ".$row_who["login"]." на ".$type_text." заключение сроком на ".$_POST["period"]." дн.");
    
inchat("",$_SESSION["room"],"<i>« ".$_SESSION["login"]." » отправил в тюрьму персонажа « ".$row_who["login"]." » ".$end."</i>");
   }
  }
 
  if(!
$error_msg)
   
$scs_msg "Персонаж отправлен в тюрьму!";
 }

 
//-------------------------------------------------------------

 
if($_GET["do"]=="block_out" && preg_match("/^[-a-zA-Zа-яА-Я0-9_s]+$/",$_POST["who"]))
 {

  
$db->query("select unblock_on,unblock_level from admin_users where user_id='".$_SESSION["id"]."'");
  
$db->num_rows();
  
$db->fetch_array();

  if(!
$db->num || $db->row["unblock_on"]=="0")
   
$error_msg "У вас нет прав выпускать из тюрьмы персонажей!";
  else
  {
   
$result_who mysql_query("select id,login from users where login='".$_POST["who"]."'");
   
$num_who mysql_num_rows($result_who);
   
$row_who mysql_fetch_array($result_who);

   if(!
$num_who
    
$error_msg "Персонаж не существует!";
   elseif(
$row_who["login"]==$_SESSION["login"])
    
$error_msg "Вы не имеете права выпускать себя из тюрьмы";
   elseif(
$row_who["level"] > $db->row["unblock_level"])
    
$error_msg "Ваши права не позволяют выпускать из тюрьмы персонажа старше ".$db->row["unblock_level"]." уровня!";
   elseif(!
check_block($row_who["login"]))
    
$error_msg "Персонаж не находиться в тюрьме!";
   else
   {

    
$file file($DOCUMENT_ROOT."/database/ban/list.dat");
    
$num count($file);

    for(
$i=0;$i<=$num-1;$i++)
    { 
     
$row explode("|",$file[$i]);
     if(
$row[0]==$row_who["login"])
     {
      unset(
$file[$i]);
      
$fp1 fopen($DOCUMENT_ROOT."/database/ban/list.dat","w"); 
      
fwrite($fp1,implode("",$file)); 
      
fclose($fp1);
     }
    }

    
private_add($row_who["id"],$_SESSION["login"],"Персонаж выпущен из тюрьмы");
    
private_add($_SESSION["id"],"admin panel","Выпустил из тюрьмы персонажа ".$row_who["login"]);
    
inchat("",$_SESSION["room"],"<i>« ".$_SESSION["login"]." » выпустил из тюрьмы персонажа « ".$row_who["login"]." »</i>");
   }
  }

  if(!
$error_msg)
   
$scs_msg "Персонаж освобожден из тюрьмы по вашему указу";
 }
}

?>
Онлайн: 0
Реклама