Вход Регистрация
Файл: _gladiators2_/gladiators2/gladiators/gladiators/system/modules/mod_transfer.php
Строк: 198
<?
function check_transfer($id,$opp_id)
{
 global 
$DOCUMENT_ROOT;
 
 
$find 0;

 
$file = @file($DOCUMENT_ROOT."/database/transfer/transfer.dat");
 
 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);
  if(
$row[0]==$id && $row[1]==$opp_id)
   
$find 1;
 }

 return 
$find;
}

if(
$_POST["send_gold"] && preg_match("/^[-A-Za-zА-Яа-я0-9_\s]+$/",$_GET["ch"]))
{
 
sleep(3);

 
$db->query("select id,login,level from users where login='".$_GET["ch"]."'");
 
$db->num_rows();
 
$db->fetch_array();

 if(!
$db->num)
  
$error_msg "Указанный персонаж не существует!";
 elseif(!
check_online($db->row["login"],$_SESSION["room"],$config["rooms"]))
  
$error_msg "Персонажа отошел от вас на значительное расстояние!";
 elseif(
$db->row["level"] < 5)
  
$error_msg "Перевод золота возможен только персонажам с 5-го уровня!";
 elseif(!
preg_match("/^[0-9]+(.){0,1}[0-9]*$/",$_POST["send_gold"]))
  
$error_msg "Не верно указана сумма золота для передачи!";
 elseif( 
$user->money 0.01 )
  
$error_msg "Слишком маленькая сумма!";
 elseif( 
$user->money $_POST["send_gold"] )
  
$error_msg "Не достаточно наличных для совершения перевода!";
 else
 {
  
srand ((double) microtime() * 1000000);

  if((
Date("G")>=&& Date("G")<=7) && rand(0,100)==37)
  {
   
$user->money -= ToFloat(($_POST["send_gold"]*10/100),2);
   
$error_msg "Вас ограбили на ".ToFloat(($_POST["send_gold"]*10/100),2)." золота, сделка не состоялась!";
  }
  elseif(
Date("G")>&& rand(0,1000)==37)
  {
   
$user->money -= ToFloat(($_POST["send_gold"]*10/100),2);
   
$error_msg "Вас ограбили на ".ToFloat(($_POST["send_gold"]*10/100),2)." золота, сделка не состоялась!";
  }

  if(!
$error_msg)
  {
   
$user->money -= ToFloat($_POST["send_gold"],2);
   
mysql_query("update users set money=money+".ToFloat($_POST["send_gold"],2)." where login='".$db->row["login"]."'");
   
insys($db->row["login"],"<b><span style=cursor:hand>".$_SESSION["login"]."</span></b> передал вам <b>".ToFloat($_POST["send_gold"],2)."</b> золота.");
   
private_add($_SESSION["id"],"transfer bot","передал ".ToFloat($_POST["send_gold"],2)." золота персонажу ".$db->row["login"]);
   
private_add($db->row["id"],"transfer bot","получил ".ToFloat($_POST["send_gold"],2)." золота от персонажа ".$_SESSION["login"]);

   
$scs_msg "Деньги переданы персонажу ".$_GET["ch"]."!";
  }
 }
}

if(
preg_match("/^[0-9]+$/",$_GET["present"]))
{
 
sleep(3);

 
$db2 = new DBconn;
 
$db2->Conn("greece",$server_conf);

 
$db2->query("select count(*) from bag where owner='".$_SESSION["id"]."' and present='n' and id='".$_GET["present"]."'");
 
$db2->fetch_array();

 if(!
$db->row[0])
  
$error_msg "Предмет отсутствует!";
 elseif(!
check_online($db->row["login"],$_SESSION["room"],$config["rooms"]))
  
$error_msg "Персонажа отошел от вас на значительное расстояние!";
 elseif(
$db->row["level"] < 5)
  
$error_msg "Дарить предметы возможно только персонажам с 5-го уровня!";
 else
 {
  
mysql_query("update bag set owner='".$db->row["id"]."',present='y' where id='".$_GET["present"]."' and owner='".$_SESSION["id"]."' and present='n' LIMIT 1");

  
$db2->query("select name from items where id='".$_GET["present"]."'");
  
$db2->fetch_array();

  
insys($db->row["login"],"<b><span style=cursor:hand>".$_SESSION["login"]."</span></b> подарил вам <b>«".$db2->row["name"]."»</b>.");
  
private_add($_SESSION["id"],"transfer bot","передал «".$db2->row["name"]."» персонажу ".$db->row["login"]);
  
private_add($db->row["id"],"transfer bot","получил «".$db2->row["name"]."» от персонажа ".$_SESSION["login"]);

  
$scs_msg "Подарок передан персонажу ".$_GET["ch"]."!";
 }
}

if(
preg_match("/^[0-9]+$/",$_GET["item_id"]))
{
 
sleep(3);

 
$db2 = new DBconn;
 
$db2->Conn("greece",$server_conf);

 
$db2->query("select count(*) from bag where owner='".$_SESSION["id"]."' and present='n' and id='".$_GET["item_id"]."'");
 
$db2->fetch_array();

 
$num $db2->row[0];

 
$db2->query("select price from items where id='".$_GET["item_id"]."'");
 
$db2->fetch_array();

 if(!
$num)
  
$error_msg "Предмет отсутствует!";
 elseif(!
preg_match("/^[0-9]+(.){0,1}[0-9]*$/",$_POST["set_gold"]))
  
$error_msg "Не верно указана стоимость предмета!";
 elseif(
$_POST["set_gold"] < ($db2->row["price"]*30/100))
  
$error_msg "Вы не можете продать предмет по столь низкой цене!";
 elseif(!
check_online($db->row["login"],$_SESSION["room"],$config["rooms"]))
  
$error_msg "Персонажа отошел от вас на значительное расстояние!";
 elseif(
$db->row["level"] < 5)
  
$error_msg "Продовать предметы возможно только персонажам с 5-го уровня!";
 elseif(
check_transfer($_SESSION["id"],$db->row["id"]))
  
$error_msg "Вы уже предложили персонажу купить предмет, подождите завершения сделки.";
 else
 {
  
$fp fopen($HTTP_SERVER_VARS["DOCUMENT_ROOT"]."/database/transfer/transfer.dat","a+");
  
flock($fp,2);
  
fwrite($fp,$_SESSION["id"]."|".$db->row["id"]."|".$_GET["item_id"]."|".ToFloat($_POST["set_gold"],2)."|n");
  
flock($fp,3);
  
fclose($fp);
 }
}

if(
$_GET["cancel"])
{
 
sleep(3);

 
$find 0;

 
$file = @file($DOCUMENT_ROOT."/database/transfer/transfer.dat");
 
 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);
  if(
$row[0]==$_SESSION["id"] && $row[1]==$db->row["id"])
  {
   
$find 1;
   unset(
$file[$i]);
  }
 }

 if(
$find)
 {
  
$fp = @fopen($HTTP_SERVER_VARS["DOCUMENT_ROOT"]."/database/transfer/transfer.dat","w");
  @
flock($fp,2);
  @
fwrite($fp,implode("",$file));
  @
flock($fp,3);
  @
fclose($fp);

  
$scs_msg "Сделка окончена по вашему запросу";
 }
 else
  
$error_msg "Возможно персонаж уже провел сделку и вы не можете ее отменить, либо вы до этого сами отменили сделку.";
}

if(
$_GET["cancel_buy"])
{
 
sleep(3);

 
$find 0;

 
$file = @file($DOCUMENT_ROOT."/database/transfer/transfer.dat");
 
 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);
  if(
$row[0]==$db->row["id"] && $row[1]==$_SESSION["id"])
  {
   
$find 1;
   unset(
$file[$i]);
  }
 }

 if(
$find)
 {
  
$fp = @fopen($HTTP_SERVER_VARS["DOCUMENT_ROOT"]."/database/transfer/transfer.dat","w");
  @
flock($fp,2);
  @
fwrite($fp,implode("",$file));
  @
flock($fp,3);
  @
fclose($fp);

  
$scs_msg "Сделка отменена по вашему запросу";
 }
}

if(
$_GET["buy"])
{
 
sleep(3);

 
$inform "";
 
$line "";

 
$file = @file($DOCUMENT_ROOT."/database/transfer/transfer.dat");
 
 for(
$i=0;$i<=count($file)-1;$i++)
 {
  
$row explode("|",$file[$i]);
  if(
$row[0]==$db->row["id"] && $row[1]==$_SESSION["id"])
  {
   
$line $i;
   
$inform $file[$i];
  }
 }

 if(
$inform)
 {
  
$db2 = new DBconn;
  
$db2->Conn("greece",$server_conf);

  
$row explode("|",$inform);
  
  
$db2->query("select count(*) from bag where owner='".$db->row["id"]."' and id='".$row[2]."' and present='n' and dressed='n'");
  
$db2->fetch_array();

  if(
$user->money $row[3])
   
$error_msg "Не достаточно золота для покупки предмета!";
  elseif(!
$db2->row[0])
   
$error_msg "Персонаж снял этот предмет с продажи!";
  elseif(!
check_online($db->row["login"],$_SESSION["room"],$config["rooms"]))
   
$error_msg "Персонажа отошел от вас на значительное расстояние!";
  else
  {
   
$user->money -= $row[3];
   
$db2->query("update users set money=money+".$row[3]." where id='".$db->row["id"]."'");
   
$db2->query("update bag set owner='".$_SESSION["id"]."' where owner='".$db->row["id"]."' and id='".$row[2]."' and present='n' and dressed='n' LIMIT 1");

   
$db2->query("select name from items where id='".$row[2]."'");
   
$db2->fetch_array();

   
insys($db->row["login"],"<b><span style=cursor:hand>".$_SESSION["login"]."</span></b> купил у вас предмет <b>«".$db2->row["name"]."»</b> за <b>".$row[3]."</b> золота.");
   
private_add($db->row["id"],"transfer bot","продал предмет «".$db2->row["name"]."» за ".$row[3]." золота персонажу ".$_SESSION["login"]);
   
private_add($_SESSION["id"],"transfer bot","купил предмет «".$db2->row["name"]."» за ".$row[3]." золота у персонажа ".$db->row["login"]);


   unset(
$file[$line]);
  
   
$fp = @fopen($HTTP_SERVER_VARS["DOCUMENT_ROOT"]."/database/transfer/transfer.dat","w");
   @
flock($fp,2);
   @
fwrite($fp,implode("",$file));
   @
flock($fp,3);
   @
fclose($fp);

   
$scs_msg "Преобретен предмет «".$db2->row["name"]."»!";
  }
 }
 else
  
$error_msg "Персонаж разорвал сделку!";
}
?>
Онлайн: 1
Реклама