Файл: _gladiators2_/gladiators2/gladiators/gladiators/system/modules/mod_clan.php
Строк: 230
<?
if( $_GET["act"]=="hp_recovery" && $user->align == "1" ) {
sleep(2);
$db->query("select count(*) from magic where pers='".$_SESSION["id"]."' and type='hp_recovery' and ".time()."-begin < 1800");
$db->fetch_array();
if( !((Date("G") >= 21 && Date("G") <= 23) || (Date("G") >= 0 && Date("G") < 6)) )
$error_msg = "Темные силы действуют только в ночное время.";
else if( $db->row[0] )
$error_msg = "Вы уже использовали восстановление жизней менее чем полчаса назад.";
else {
$db->query("select hp,maxhp from users where id='".$_SESSION["id"]."'");
$db->fetch_array();
$persent = ($db->row["maxhp"] * 70) / 100;
$db->row["hp"] += $persent;
if( $db->row["hp"] > $db->row["maxhp"] )
$db->row["hp"] = $db->row["maxhp"];
$db->query("update users set hp = '".$db->row["hp"]."' where id='".$_SESSION["id"]."'");
$db->query("insert into magic values('".time()."','".$_SESSION["id"]."','hp_recovery')");
private_add($_SESSION["id"],"Align Magic","Призвал темные силы для восстановления жизненной энергии.");
$scs_msg = "Успешно восстановлено 70% жизней.";
}
}
else if( $_GET["act"]=="hp_recovery" && $user->align == "2" ) {
sleep(2);
$db->query("select count(*) from magic where pers='".$_SESSION["id"]."' and type='hp_recovery' and ".time()."-begin < 1800");
$db->fetch_array();
if( !(Date("G") >= 9 && Date("G") < 18) )
$error_msg = "Светлые силы действуют только в дневное время.";
else if( $db->row[0] )
$error_msg = "Вы уже использовали восстановление жизней менее чем полчаса назад.";
else {
$db->query("select hp,maxhp from users where id='".$_SESSION["id"]."'");
$db->fetch_array();
$persent = ($db->row["maxhp"] * 70) / 100;
$db->row["hp"] += $persent;
if( $db->row["hp"] > $db->row["maxhp"] )
$db->row["hp"] = $db->row["maxhp"];
$db->query("update users set hp = '".$db->row["hp"]."' where id='".$_SESSION["id"]."'");
$db->query("insert into magic values('".time()."','".$_SESSION["id"]."','hp_recovery')");
private_add($_SESSION["id"],"Align Magic","Призвал светлые силы для восстановления жизненной энергии.");
$scs_msg = "Успешно восстановлено 70% жизней.";
}
}
else if( $_GET["act"]=="hp_recovery" && $user->align == "3" && preg_match("/^[-0-9A-Za-zА-Яа-я_s]{3,20}$/",$_GET["who"])) {
sleep(2);
$db->query("select count(*) from magic where pers='".$_SESSION["id"]."' and type='hp_recovery' and begin >= ".$time." and begin <= ".($time+86400)."");
$db->fetch_array();
$db->query("select count(*) from magic where pers='".$_SESSION["id"]."' and type='hp_recovery' and begin >= ".$time." and begin <= ".($time+86400)."");
$db->fetch_array();
if( $db->row[0] >= 10 )
$error_msg = "Вы уже использовали 10 возможностей восстановления жизней за сегодня.";
else if( $user->hp < $user->maxhp )
$error_msg = "Для лечения персонажа у вас должны быть полные жизни!";
else {
$db->query("select id,login,level,hp,maxhp from users where login='".$_GET["who"]."'");
$db->num_rows();
$db->fetch_array();
$user_login = $db->row["login"];
$user_id = $db->row["id"];
if( !$db->num )
$error_msg = "Персонаж не существует!";
else if( $db->row["level"] < 10 )
$error_msg = "Вы можете восстанавливать жизни только персонажу достигшему 10-го уровня.";
else if( $db->row["hp"] == $db->row["maxhp"] )
$error_msg = "У персонажа уже восстановлены все жизни!";
else {
$db->query("update users set hp = maxhp where id='".$user_id."'");
$db->query("update users set hp = '0' where id='".$_SESSION["id"]."'");
$db->query("insert into magic values('".time()."','".$_SESSION["id"]."','hp_recovery')");
private_add($_SESSION["id"],"Align Magic","Призвал светлые силы для восстановления жизненной энергии персонажа ".$user_login.".");
private_add($user_id,"Align Magic","Персонаж нейтральной склонности ".$_SESSION["id"]." восстановил 100% жизней гладиатору.");
insys($user_login,$_SESSION["login"]." восстановил(а) вам 100% жизней.");
$scs_msg = "Успешно восстановлено 100% жизней персонажу ".$user_login.".";
}
}
}
else if( $_GET["act"]=="dark_defence" && $user->align == "1" && preg_match("/^[-0-9A-Za-zА-Яа-я_s]{3,20}$/",$_GET["who"])) {
sleep(2);
$db->query("select count(*) from magic where pers='".$_SESSION["id"]."' and type='dark_defence' and ".time()."-begin < 86400");
$db->fetch_array();
if( $db->row[0] >= 10 )
$error_msg = "Вы уже сегодня использовали 10 возможностей защитить темного брата.";
else {
$db2 = new DBconn;
$db->query("select id,login,locate,battle_id,align from users where login='".$_GET["who"]."'");
$db->num_rows();
$db->fetch_array();
$db2->query("select * from battle where id='".$db->row["battle_id"]."'");
$db2->fetch_array();
if( !$db->num )
$error_msg = "Персонаж не существует!";
else if( $db->row["align"] != "1" )
$error_msg = "Персонаж не темной склонности.";
else if( !$db->row["battle_id"] )
$error_msg = "Персонаж не находится в бою!";
else if( $db2->row["winner"] != "" )
$error_msg = "Поединок темного брата уже завершен!";
else if( !preg_match("/^(group|street)$/",$db2->row["type"]) )
$error_msg = "Вы можете помочь темному брату только в групповом или уличном поединке.";
else if ( $user->locate!=$db->row["locate"] )
$error_msg = "Персонаж находится далеко от вас, в другом помещении.";
else {
if( preg_match("/(^|;)".$db->row["id"].";/",$db2->row["side1"]) )
$brother_side = "side1";
else
$brother_side = "side2";
$battle_data = $_SESSION["id"]."#".$_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align;
$battle_side = $db2->row[$brother_side].$_SESSION["id"].";";
$battle_kick_time = $db2->row["kick_time"].$_SESSION["id"]."=".time().";";
$battle_hp = $db2->row["hp"].$_SESSION["id"]."=0;";
$battle_data = $db2->row["data"].$battle_data;
$db->query("update battle set ".$brother_side."=".$battle_side."',
kick_time = '".$battle_kick_time."',
hp = '".$battle_hp."',
data = '".$battle_data."',
where id = '".$db->row["battle_id"]."'");
$db->query("update users set battle_id='".$db->row["battle_id"]."'");
$db->query("insert into battle_logs(battle_id,cmt,time,type,ch1) values('".$db->row["battle_id"]."','3','".time()."','greating','".$_SESSION["id"]."')");
$db->query("insert into magic values('".time()."','".$_SESSION["id"]."','dark_defence')");
private_add($_SESSION["id"],"Align Magic","Использовал возможность защиты темного брата и вмешался за ".$brother_login.".");
Header("Location: /battle.php");
}
}
}
else if( $_GET["act"]=="light_defence" && $user->align == "2" && preg_match("/^[-0-9A-Za-zА-Яа-я_s]{3,20}$/",$_GET["who"])) {
sleep(2);
$db->query("select count(*) from magic where pers='".$_SESSION["id"]."' and type='light_defence' and ".time()."-begin < 86400");
$db->fetch_array();
if( $db->row[0] >= 10 )
$error_msg = "Вы уже сегодня использовали 10 возможностей защитить светлого брата.";
else {
$db2 = new DBconn;
$db->query("select id,login,locate,battle_id,align from users where login='".$_GET["who"]."'");
$db->num_rows();
$db->fetch_array();
$db2->query("select * from battle where id='".$db->row["battle_id"]."'");
$db2->fetch_array();
if( !$db->num )
$error_msg = "Персонаж не существует!";
else if( $db->row["align"] != "2" )
$error_msg = "Персонаж не светлой склонности.";
else if( !$db->row["battle_id"] )
$error_msg = "Персонаж не находится в бою!";
else if( $db2->row["winner"] != "" )
$error_msg = "Поединок темного брата уже завершен!";
else if( !preg_match("/^(group|street)$/",$db2->row["type"]) )
$error_msg = "Вы можете помочь темному брату только в групповом или уличном поединке.";
else if ( $user->locate!=$db->row["locate"] )
$error_msg = "Персонаж находится далеко от вас, в другом помещении.";
else {
if( preg_match("/(^|;)".$db->row["id"].";/",$db2->row["side1"]) )
$brother_side = "side1";
else
$brother_side = "side2";
$battle_data = $_SESSION["id"]."#".$_SESSION["login"]."#".$user->level."#".$user->klan."#".$user->align;
$battle_side = $db2->row[$brother_side].$_SESSION["id"].";";
$battle_kick_time = $db2->row["kick_time"].$_SESSION["id"]."=".time().";";
$battle_hp = $db2->row["hp"].$_SESSION["id"]."=0;";
$battle_data = $db2->row["data"].$battle_data;
$db->query("update battle set ".$brother_side."=".$battle_side."',
kick_time = '".$battle_kick_time."',
hp = '".$battle_hp."',
data = '".$battle_data."',
where id = '".$db->row["battle_id"]."'");
$db->query("update users set battle_id='".$db->row["battle_id"]."'");
$db->query("insert into battle_logs(battle_id,cmt,time,type,ch1) values('".$db->row["battle_id"]."','3','".time()."','greating','".$_SESSION["id"]."')");
$db->query("insert into magic values('".time()."','".$_SESSION["id"]."','dark_defence')");
private_add($_SESSION["id"],"Align Magic","Использовал возможность защиты темного брата и вмешался за ".$brother_login.".");
Header("Location: /battle.php");
}
}
}
else if( $_GET["act"]=="clan_accept" && preg_match("/^[-0-9A-Za-zА-Яа-я_s]{3,20}$/",$_GET["who"])) {
$_GET["post"] = AddSlashes(htmlspecialchars(trim($_GET["post"])));
$_GET["post"] = str_replace("<b>","<b>",$_GET["post"]);
$_GET["post"] = str_replace("<i>","<i>",$_GET["post"]);
$_GET["post"] = str_replace("</u>","</u>",$_GET["post"]);
$_GET["post"] = str_replace("</b>","</b>",$_GET["post"]);
$_GET["post"] = str_replace("</i>","</i>",$_GET["post"]);
$_GET["post"] = str_replace("</u>","</u>",$_GET["post"]);
$db->query("select owner,lim from clans where name='".$user->klan."'");
$db->fetch_array();
$owner = $db->row["owner"];
$lim = $db->row["lim"];
$db->query("select count(*) from users where klan='".$user->klan."'");
$db->fetch_array();
$clan_num = $db->row[0];
$db->query("select id,login,level,klan,align from users where login='".$_GET["who"]."'");
$db->num_rows();
$db->fetch_array();
$_GET["who"] = $db->row["login"];
$user_num = $db->num;
$user_id = $db->row["id"];
$user_level = $db->row["level"];
$user_klan = $db->row["klan"];
$user_align = $db->row["align"];
if( $user_num ) {
$db->query("select count(*) from senate_checkclear where owner='".$user_id."' and (insert_date + life_time) >= ".time());
$db->fetch_array();
$check_clear = $db->row[0];
}
if( $owner!=$_SESSION["id"] )
$error_msg = "Вы не являетесь главой клана.";
else if( $lim <= $clan_num )
$error_msg = "У вас в клане максимальное количество участников, чтобы принять нового участника Вам необходимо расширить установленый лимит.";
else if( !$user_num )
$error_msg = "Персонаж не существует!";
else if( $user_level < 10 )
$error_msg = "В клан разрешено принимать только персонажа достигнувшего 10-го уровня. ";
else if( $user_klan!="" || $user_align!="" )
$error_msg = "Персонаж находится в другом клане!";
else if( !$check_clear )
$error_msg = "Персонаж не прошел проверку на чистоту перед законом у Сената.";
else if( !$_GET["post"] )
$error_msg = "Не указана должность!";
else if( !preg_match("/^[-a-zA-Zа-яА-Я0-9<>/_s]{2,20}$/",$_GET["post"]) )
$error_msg = "Не верно указана должность, возможно использованы запрещенные символы либо не допустимое количество символов.";
else {
private_add($user_id,"Clan Manager","Принят в клан ".$user->klan.".");
private_add($_SESSION["id"],"Clan Manager","Принял в клан персонажа ".$_GET["who"].".");
insys($_GET["who"],"Вас приняли в клан ".$user->klan.".");
$db->query("update users set klan='".$user->klan."',post='".$_GET["post"]."',align='".$db->row["align"]."' where id='".$user_id."'");
$scs_msg = "Персонаж успешно записан в клан!";
}
}
else if( $_GET["act"]=="change_post" && preg_match("/^[-0-9A-Za-zА-Яа-я_s]{3,20}$/",$_GET["who"])) {
$_GET["post"] = AddSlashes(htmlspecialchars(trim($_GET["post"])));
$_GET["post"] = str_replace("<b>","<b>",$_GET["post"]);
$_GET["post"] = str_replace("<i>","<i>",$_GET["post"]);
$_GET["post"] = str_replace("</u>","</u>",$_GET["post"]);
$_GET["post"] = str_replace("</b>","</b>",$_GET["post"]);
$_GET["post"] = str_replace("</i>","</i>",$_GET["post"]);
$_GET["post"] = str_replace("</u>","</u>",$_GET["post"]);
$db->query("select owner,lim from clans where name='".$user->klan."'");
$db->fetch_array();
$owner = $db->row["owner"];
$lim = $db->row["lim"];
$db->query("select id,login,level,klan,align from users where login='".$_GET["who"]."'");
$db->num_rows();
$db->fetch_array();
$_GET["who"] = $db->row["login"];
$user_num = $db->num;
$user_id = $db->row["id"];
$user_level = $db->row["level"];
$user_klan = $db->row["klan"];
$user_align = $db->row["align"];
if( $owner!=$_SESSION["id"] )
$error_msg = "Вы не являетесь главой клана.";
else if( !$user_num )
$error_msg = "Персонаж не существует!";
else if( $user_klan!=$user->klan )
$error_msg = "Персонаж не находится в вашем клане!";
else if( !$_GET["post"] )
$error_msg = "Не указана должность!";
else if( !preg_match("/^[-a-zA-Zа-яА-Я0-9<>/_s]{2,20}$/",$_GET["post"]) )
$error_msg = "Не верно указана должность, возможно использованы запрещенные символы либо не допустимое количество символов.";
else {
private_add($_SESSION["id"],"Clan Manager","Изменил должность персонажа ".$_GET["who"].".");
insys($_GET["who"],"Ваша должность в клане изменена.");
$db->query("update users set post='".$_GET["post"]."' where id='".$user_id."'");
$scs_msg = "Должность персонажа успешно изменена!";
}
}
else if( $_GET["act"]=="leave_out" && preg_match("/^[-0-9A-Za-zА-Яа-я_s]{3,20}$/",$_GET["who"])) {
$db->query("select owner from clans where name='".$user->klan."'");
$db->fetch_array();
$owner = $db->row["owner"];
$db->query("select id,login,level,klan,align from users where login='".$_GET["who"]."'");
$db->num_rows();
$db->fetch_array();
$_GET["who"] = $db->row["login"];
$user_num = $db->num;
$user_id = $db->row["id"];
$user_level = $db->row["level"];
$user_klan = $db->row["klan"];
$user_align = $db->row["align"];
if( $owner!=$_SESSION["id"] )
$error_msg = "Вы не являетесь главой клана.";
else if( !$user_num )
$error_msg = "Персонаж не существует!";
else if( $user->klan!=$user->klan )
$error_msg = "Персонаж не находится в вашем клане!";
else {
private_add($user_id,"Clan Manager","Персонаж исключен из клана ".$user->klan.".");
private_add($_SESSION["id"],"Clan Manager","Исключил из клана персонажа ".$_GET["who"].".");
insys($_GET["who"],"Вы исключены из клана ".$user->klan.".");
$db->query("update users set klan='',post='',align='' where id='".$user_id."'");
$scs_msg = "Персонаж исключен из клана!";
}
}
else if( $_GET["act"]=="leave") {
$db->query("select owner from clans where name='".$user->klan."'");
$db->fetch_array();
$owner = $db->row["owner"];
if( $owner==$_SESSION["id"] )
$error_msg = "Вы являетесь главой клана и не можете его покинуть.";
else if( $user->klan=="" )
$error_msg = "Вы не находитесь в клане";
else {
private_add($_SESSION["id"],"Clan Manager","Персонаж вышел из клана ".$user->klan.".");
insys($_SESSION["login"],"Вы вышли из клана ".$user->klan.".");
$db->query("update users set klan='',post='',align='' where id='".$_SESSION["id"]."'");
Header("Location: /home.php");
exit();
}
}
?>