Файл: _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 = "Персонаж освобожден из тюрьмы по вашему указу";
}
}
?>