Файл: _gladiators2_/gladiators2/gladiators/gladiators/manage/modules/mod_group.php
Строк: 609
<?
if($_GET["act"]=="group")
{
$db->query("select * from admin_groups where admin_id LIKE '".$_SESSION["id"].";%' or admin_id LIKE '%;".$_SESSION["id"].";%'");
$db->num_rows();
$db->fetch_array();
if($db->num==0)
$error_msg = "Вы не являетесь администратором группы";
else
{
$group_content = "";
if($_GET["do"]=="add_user_admin")
{
if(preg_match("/^[-a-zA-Zа-яА-Я0-9_s]+$/",$_POST["who"]))
{
$db2 = new DBconn;
$db3 = new DBconn;
$db2->query("select id,login,level,klan,align from users where login='".$_POST["who"]."'");
$db2->num_rows();
$db2->fetch_array();
$_POST["who"] = $db2->row["login"];
if( !$db2->num )
$error_msg = "Персонаж не существует!";
else if($_POST["who"]==$_SESSION["login"])
$error_msg = "Не шутите так :)";
else if( $user_klan!="" || $user_align!="" )
$error_msg = "Персонаж находится в другом клане!";
else if( $db2->row["align"]=="4" )
$error_msg = "Персонаж уже находится в Сенате!";
else {
private_add($user_id,"Senate Manager","Персонаж принят в Сенат.");
private_add($_SESSION["id"],"Clan Manager","Принял в Сенат персонажа ".$_POST["who"].".");
insys($_GET["who"],"Вас приняли в Сенат.");
mysql_query("insert into admin_users(user_id) values('".$db2->row["id"]."')");
$new_users = $db->row["users"].$db2->row["id"].";";
mysql_query("update admin_groups set users='".$new_users."' where group_id='".$db->row["group_id"]."'");
mysql_query("update users set align='4' where id='".$db2->row["id"]."'");
$scs_msg = "Персонаж успешно записан в Сенат!";
}
}
$group_content .= "<a href=index.php?act=group><b><u>на главную</u></b></a>";
$group_content .= "<br><br>Добавление персонажа:<br><br><form action='index.php?act=group&do=add_user_admin' method=post><b>Логин:</b> <input type=text name=who> <input type=submit value='Добавить' class=button></form>";
}
else if($_GET["do"]=="del_user_admin")
{
if(preg_match("/^[-a-zA-Zа-яА-Я0-9_s]+$/",$_POST["who"]))
{
$db2 = new DBconn;
$db3 = new DBconn;
$db2->query("select id,login,level,klan,align from users where login='".$_POST["who"]."'");
$db2->num_rows();
$db2->fetch_array();
$db3 = new DBconn;
$db3->query("select * from admin_users where user_id='".$db2->row["id"]."'");
$db3->num_rows();
$_POST["who"] = $db2->row["login"];
if( !$db2->num )
$error_msg = "Персонаж не существует!";
else if($_POST["who"]==$_SESSION["login"])
$error_msg = "Не шутите так :)";
else if( $db2->row["align"]!="4" )
$error_msg = "Персонаж не находится в Сенате!";
else {
private_add($user_id,"Senate Manager","Персонаж исключен из Сената.");
private_add($_SESSION["id"],"Clan Manager","Исключил из Сената персонажа ".$_POST["who"].".");
insys($_GET["who"],"Вас исключили из Сената.");
mysql_query("delete from admin_users where user_id='".$db2->row["id"]."'");
$db->row["users"] = preg_replace("/(^|;)".$db2->row["id"].";/","\1",$db->row["users"]);
mysql_query("update admin_groups set users='".$db->row["users"]."' where group_id='".$db->row["group_id"]."'");
mysql_query("update users set align='0' where id='".$db2->row["id"]."'");
$scs_msg = "Персонаж исключен из Сената!";
}
}
$group_content .= "<a href=index.php?act=group><b><u>на главную</u></b></a>";
$group_content .= "<br><br>Исключение персонажа:<br><br><form action='index.php?act=group&do=del_user_admin' method=post><b>Логин:</b> <input type=text name=who> <input type=submit value='Исключить' class=button></form>";
}
elseif(preg_match("/^[0-9]+$/",$_GET["permission"]))
{
$db2 = new DBconn;
$db2->query("select * from admin_users where user_id='".$_GET["permission"]."'");
$db2->num_rows();
$db2->fetch_array();
if(!$db2->num)
$error_msg = "персонаж не является администратором";
elseif(!preg_match("/^(".$db2->row["user_id"].");/",$db->row["users"]) && !preg_match("/;(".$db2->row["user_id"].");/",$db->row["users"]) && $_GET["permission"]!=$_SESSION["id"])
$error_msg = "персонаж не является участником вашей группы";
else
{
$db3 = new DBconn;
$db3->query("select id,login,post,level from users where id='".$db2->row["user_id"]."'");
$db3->num_rows();
$db3->fetch_array();
$db4 = new DBconn;
$db4->query("select * from admin_users where user_id='".$_SESSION["id"]."'");
$db4->num_rows();
$db4->fetch_array();
if($_GET["do"]=="save_perm")
{
$q = "";
if($_POST["gag_on"]=="on" && $db4->row["gag_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["gag_level"] > $db4->row["gag_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["fgag_on"]=="on" && $db4->row["fgag_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["fgag_level"] > $db4->row["fgag_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["block_on"]=="on" && $db4->row["block_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["block_level"] > $db4->row["block_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["blockip_on"]=="on" && $db4->row["blockip_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["unblockip_on"]=="on" && $db4->row["unblockip_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["ipaccess_on"]=="on" && $db4->row["ipaccess_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["ipaccess_level"] > $db4->row["ipaccess_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["mult_on"]=="on" && $db4->row["mult_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["news_add"]=="on" && $db4->row["news_add"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["news_edit"]=="on" && $db4->row["news_edit"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["news_del"]=="on" && $db4->row["news_del"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["lib_on"]=="on" && $db4->row["lib_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["event_on"]=="on" && $db4->row["event_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["event_level"] > $db4->row["event_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["event_level"] > $db4->row["event_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["clans_on"]=="on" && $db4->row["clans_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["check_clear"]=="on" && $db4->row["check_clear"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($_POST["market_on"]=="on" && $db4->row["market_on"]=="0")
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
else
{
$viewable = explode(";",$_POST["info"]);
$find = 0;
for($i=0;$i<=count($viewable)-2;$i++)
{
if(!preg_match("/^".$viewable[$i].";/",$db4->row["info"]) && !preg_match("/;".$viewable[$i].";/",$db4->row["info"]))
$find = 1;
}
$editable = explode(";",$_POST["ch_edit"]);
$find1 = 0;
for($i=0;$i<=count($editable)-2;$i++)
{
if(!preg_match("/^".$editable[$i].";/",$db4->row["ch_edit"]) && !preg_match("/;".$editable[$i].";/",$db4->row["ch_edit"]))
$find1 = 1;
}
$rooms = explode(";",$_POST["chatlogs_rooms"]);
$find2 = 0;
for($i=0;$i<=count($rooms)-2;$i++)
{
if(!preg_match("/^".$rooms[$i].";/",$db4->row["chatlogs_rooms"]) && !preg_match("/;".$rooms[$i].";/",$db4->row["chatlogs_rooms"]))
$find2 = 1;
}
$info_vars = explode(";",$_POST["info"]);
$find3 = 0;
for($i=0;$i<=count($info_vars)-2;$i++)
{
if(!preg_match("/^".$info_vars[$i].";/",$db4->row["info"]) && !preg_match("/;".$info_vars[$i].";/",$db4->row["info"]))
$find3 = 1;
}
if(($find && $_POST["info"]) || $_POST["info_level"] > $db4->row["info_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif(($find1 && $_POST["ch_edit"]) || $_POST["ch_edit_level"] > $db4->row["ch_edit_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif($find2 && $_POST["chatlogs_rooms"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
elseif(($find3 && $_POST["info"]) || $_POST["info_level"] > $db4->row["info_level"])
$error_msg = "Игрок не может иметь прав больше, чем администратор группы.";
else
{
$q = "";
if($_POST["gag_on"]=="on")
$q .= "gag_on='1'";
else
$q .= "gag_on='0'";
$q .= ",gag_level='".$_POST["gag_level"]."'";
if($_POST["fgag_on"]=="on")
$q .= ",fgag_on='1'";
else
$q .= ",fgag_on='0'";
$q .= ",fgag_level='".$_POST["fgag_level"]."'";
if($_POST["block_on"]=="on")
$q .= ",block_on='1'";
else
$q .= ",block_on='0'";
$q .= ",block_level='".$_POST["block_level"]."'";
if($_POST["unblock_on"]=="on")
$q .= ",unblock_on='1'";
else
$q .= ",unblock_on='0'";
$q .= ",unblock_level='".$_POST["unblock_level"]."'";
if($_POST["blockip_on"]=="on")
$q .= ",blockip_on='1'";
else
$q .= ",blockip_on='0'";
if($_POST["unblockip_on"]=="on")
$q .= ",unblockip_on='1'";
else
$q .= ",unblockip_on='0'";
if($_POST["ipaccess_on"]=="on")
$q .= ",ipaccess_on='1'";
else
$q .= ",ipaccess_on='0'";
$q .= ",ipaccess_level='".$_POST["ipaccess_level"]."'";
$q .= ",info='".$_POST["info"]."'";
$q .= ",info_level='".$_POST["info_level"]."'";
if($_POST["mult_on"]=="on")
$q .= ",mult_on='1'";
else
$q .= ",mult_on='0'";
$q .= ",ch_edit='".$_POST["ch_edit"]."'";
$q .= ",ch_edit_level='".$_POST["ch_edit_level"]."'";
if($_POST["chatlogs_on"]=="on")
$q .= ",chatlogs_on='1'";
else
$q .= ",chatlogs_on='0'";
$q .= ",chatlogs_rooms='".$_POST["chatlogs_rooms"]."'";
if($_POST["news_add"]=="on")
$q .= ",news_add='1'";
else
$q .= ",news_add='0'";
if($_POST["news_edit"]=="on")
$q .= ",news_edit='1'";
else
$q .= ",news_edit='0'";
if($_POST["news_del"]=="on")
$q .= ",news_del='1'";
else
$q .= ",news_del='0'";
if($_POST["lib_on"]=="on")
$q .= ",lib_on='1'";
else
$q .= ",lib_on='0'";
if($_POST["event_on"]=="on")
$q .= ",event_on='1'";
else
$q .= ",event_on='0'";
$q .= ",event_level='".$_POST["event_level"]."'";
if($_POST["clans_on"]=="on")
$q .= ",clans_on='1'";
else
$q .= ",clans_on='0'";
if($_POST["check_clear"]=="on")
$q .= ",check_clear='1'";
else
$q .= ",check_clear='0'";
if($_POST["market_on"]=="on")
$q .= ",market_on='1'";
else
$q .= ",market_on='0'";
$res = mysql_query("update admin_users set ".$q." where user_id='".$_GET["permission"]."'");
if($res)
{
private_add($_SESSION["id"],"admin panel","Редактировал права персонажа "".$db3->row["login"]."" в группе администраторов");
$scs_msg = "Права сохранены!";
}
}
}
}
$db5 = new DBconn;
$db5->query("select * from admin_users where user_id='".$_GET["permission"]."'");
$db5->num_rows();
$db5->fetch_array();
$group_content .= "<a href='index.php?act=group'><b><u>на главную</u></b></a><br><br><b>Права персонажа:</b> <b>".$db3->row["login"]."</b>[".$db3->row["level"]."]<a href=/info.php?user_id=".$db3->row["id"]." target=_blank><img src=/img/inf.gif width=12 height=11 border=0></a>";
$group_content .= "<br><br><table border=0 cellspacing=0 cellpadding=5><form action='index.php?act=group&permission=".$_GET["permission"]."&do=save_perm' method=post>";
$group_content .= "<tr><td><input type=checkbox name=gag_on";
if($db5->row["gag_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>вставлять кляпы</b></small>  </td><td><input type=text name=gag_level size=3 value='".$db5->row["gag_level"]."'> <small><b>уровень прав</b></small></tr>";
$group_content .= "<tr><td><input type=checkbox name=fgag_on";
if($db5->row["fgag_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>вставлять форумные кляпы</b></small>  </td><td><input type=text name=fgag_level size=3 value='".$db5->row["fgag_level"]."'> <small><b>уровень прав</b></small></tr>";
$group_content .= "<tr><td><input type=checkbox name=block_on";
if($db5->row["block_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>отправление в тюрьму</b></small>  </td><td><input type=text name=block_level size=3 value='".$db5->row["block_level"]."'> <small><b>уровень прав</b></small></tr>";
$group_content .= "<tr><td><input type=checkbox name=unblock_on";
if($db5->row["unblock_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>выпуск из тюрьмы</b></small>  </td><td><input type=text name=unblock_level size=3 value='".$db5->row["unblock_level"]."'> <small><b>уровень прав</b></small></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=blockip_on";
if($db5->row["blockip_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>блокировка IP-адреса(сети)</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=unblockip_on";
if($db5->row["unblockip_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>разблокировка IP-адреса(сети)</b></small>  </td></tr>";
$group_content .= "<tr><td><input type=checkbox name=ipaccess_on";
if($db5->row["ipaccess_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>просмотр истории доступа к серверу</b></small>  </td><td><input type=text name=ipaccess_level size=3 value='".$db5->row["ipaccess_level"]."'> <small><b>уровень прав</b></small></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=mult_on";
if($db5->row["mult_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>поиск мультов</b></small>  </td></tr>";
$group_content .= "<tr><td><input type=checkbox name=chatlogs_on";
if($db5->row["chatlogs_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>просмотр логов чата</b></small>  </td><td><input type=text name=chatlogs_rooms size=40 value='".$db5->row["chatlogs_rooms"]."'><br><small><b>список комнат для просмотра</b></small></td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=news_add";
if($db5->row["news_add"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>добавление новостей</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=news_edit";
if($db5->row["news_edit"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>редактирование новостей</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=news_del";
if($db5->row["news_del"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>удаление новостей</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=lib_on";
if($db5->row["lib_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>управление библиотекой</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=clans_on";
if($db5->row["clans_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>Регистрация кланов</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=check_clear";
if($db5->row["check_clear"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>Проверка на чистоту</b></small>  </td></tr>";
$group_content .= "<tr><td colspan=2><input type=checkbox name=market_on";
if($db5->row["market_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>Контроль Рынка</b></small>  </td></tr>";
$group_content .= "<tr><td><input type=checkbox name=event_on";
if($db5->row["event_on"]=="1")
$group_content .= " checked";
$group_content .= "> <small><b>просмотр событий персонажа</b></small>  </td><td><input type=text name=event_level size=3 value='".$db5->row["event_level"]."'> <small><b>уровень прав</b></small></td></tr>";
$group_content .= "<tr><td><input type=text name=info size=40 value='".$db5->row["info"]."'><br> <small><b>через точку с запятой список<br> переменных, указывающих на данные<br> персонажа, который сможет просматривать<br> данный администратор</b></small>  </td><td valign=top><input type=text name=info_level size=3 value='".$db5->row["info_level"]."'> <small><b>уровень прав</b></small></td></tr>";
$group_content .= "<tr><td><input type=text name=ch_edit size=40 value='".$db5->row["ch_edit"]."'><br> <small><b>через точку с запятой список<br> переменных, указывающих на данные<br> персонажа, который сможет редактировать<br> данный администратор</b></small>  </td><td valign=top><input type=text name=ch_edit_level size=3 value='".$db5->row["ch_edit_level"]."'> <small><b>уровень прав</b></small></td></tr>";
$group_content .= "<tr><td colspan=2><input type=submit value='сохранить права' class=button></td></tr>";
$group_content .= "</table><br><br>";
}
}
else
{
$group_content = "<b>Вы управляете группой: ".$db->row["group_name"]."</b><br>";
$group_content .= "<a href=index.php?act=group&permission=".$_SESSION["id"]."><b><small>просмотреть ваши права</small></b></a>";
$group_content .= "<br><br><a href=index.php?act=group&do=add_user_admin ><b>Добавить персонажа</b></a>
<br><a href=index.php?act=group&do=del_user_admin ><b>Исключить персонажа</b></a>";
$group_content .= "<hr size=1 color=#000000>";
$users = explode(";",$db->row["users"]);
$group_content .= "<br><br><b>Состав группы(".(count($users)-1)."):</b><br><br>";
for($i=0;$i<=count($users)-2;$i++)
{
if(!$i)
$q = "id='".$users[$i]."'";
else
$q .= " or id='".$users[$i]."'";
}
$db2 = new DBconn;
$db2->query("select id,login,post,level from users where ".$q);
$db2->num_rows();
for($i=1;$i<=$db2->num;$i++)
{
$db2->fetch_array();
$group_content .= "<b>".$db2->row["login"]."</b>[".$db2->row["level"]."]<a href='/info.php?user_id=".$db2->row["id"]."' target=_blank><img src=/img/inf.gif border=0></a> <a href=index.php?act=group&permission=".$db2->row["id"]."><small><b>[настроить права]</b></small></a><br>";
}
if(!$db2->num)
$group_content .= "<small><b>сейчас в группе нет участников</b></small>";
}
}
}
?>