error_reporting(1);
@ob_start();
session_start();
include "sistem/ayarlar.php";
include "sistem/veritabani/baglanti.php";
include "sistem/fonksiyonlar.php";
include "sistem/listeler.php";
if(GirisVarmi())
{
class MySQLException extends Exception {}
try {
if(!isset($_GET["EsyaId"]) or !isset($_GET["Adet"]))
throw new Exception("Satın alma gerçekleştirilemedi.");
$ItemId = intval($_GET["EsyaId"]);
$Adet = intval($_GET["Adet"]);
if($Adet != 1 and $Adet != 5 and $Adet != 10 and $Adet != 20 and $Adet != 50)
throw new Exception("Adet sayısız geçersiz.
Satın alma işlemi iptal edildi.");
$Tarih = date("Y-m-d H:i:s");
$Query = mysql_query("SELECT * FROM ".MYSQL_DB.".is_items WHERE Id = '$ItemId'");
if(mysql_error())
throw new Exception("Eşya bulunamadı.");
$Say = mysql_num_rows($Query);
if($Say != 1)
throw new Exception("Eşya bulunamadı.");
$VeriCek = mysql_fetch_array($Query);
if($VeriCek["OdemeTuru"] == "EP")
$OdemeTuru = EP_TIPI;
elseif($VeriCek["OdemeTuru"] == "EM")
$OdemeTuru = EM_TIPI;
else
throw new Exception("Eşya ödeme tipi ile ilgili bir hata ile karşılaşıldı.");
if($VeriCek["Kampanya"] > 0)
$Ucret = $VeriCek["Ucret"] - ($VeriCek["Ucret"] / 100) * $VeriCek["Kampanya"];
else
$Ucret = $VeriCek["Ucret"];
$ToplamUcret = $Adet * $Ucret;
$HesapQuery = mysql_query("SELECT ".$OdemeTuru." FROM ".MYSQL_ACCOUNT.".account WHERE id = '".$_SESSION["HesapId"]."'");
$HesapCek = mysql_fetch_array($HesapQuery);
$MevcutBakiye = $HesapCek[$OdemeTuru];
if($MevcutBakiye < $ToplamUcret)
throw new Exception("Yetersiz bakiye.");
if($VeriCek[OdemeTuru] == "EP")
$_SESSION[Ep] = $MevcutBakiye - $ToplamUcret;
elseif($VeriCek[OdemeTuru] == "EM")
$_SESSION[Em] = $MevcutBakiye - $ToplamUcret;
if($VeriCek["Sure"] > 0)
{
if(time() > strtotime($VeriCek["Sure"]))
throw new Exception("Eşyanın satılma süresi dolduğu için , satın alma işlemi gerçekleşemedi.");
}
if($VeriCek["Stok"] > 0)
{
if($VeriCek["Stok"] < 1)
throw new Exception("Üzgünüm bu eşyada stok tükenmiş.");
if($Adet > $VeriCek["Stok"])
throw new Exception("Alacağınız adet sayısı mevcut stoktan fazla olduğu için satın alma gerçekleşmedi.");
mysql_query("UPDATE ".MYSQL_DB.".is_items SET Stok = Stok - $Adet WHERE Id = '$ItemId'");
// echo("UPDATE ".MYSQL_DB.".is_items SET Stok = Stok - $Adet WHERE Id = '$ItemId'
");
}
if($VeriCek[Paket] == 1)
{
$PaketQuery = mysql_query("SELECT * FROM ".MYSQL_DB.".is_paket WHERE PaketId = '$ItemId'");
$PaketSay = mysql_num_rows($PaketQuery);
if($PaketSay < 1)
throw new Exception("Bu paketin içerisinde eşya bulunamadı.");
$ToplamPosSay = $PaketSay * $Adet;
$PosQuery = mysql_query("SELECT pos FROM ".MYSQL_PLAYER.".item WHERE owner_id = '".$_SESSION["HesapId"]."' AND window = 'MALL'");
$PosSay = mysql_num_rows($PosQuery);
if(($PosSay + $ToplamPosSay) > 45)
throw new Exception("Nesne deponuzda yeterli alan bulunmuyor.");
mysql_query("UPDATE ".MYSQL_ACCOUNT.".account SET ".$OdemeTuru." = ".$OdemeTuru." - '$ToplamUcret' WHERE id = '".$_SESSION["HesapId"]."'");
while($PaketCek = mysql_fetch_array($PaketQuery))
{
for($Eklenen = 0;$Eklenen < $Adet;$Eklenen++)
{
$ItemQuery = mysql_query("SELECT socket_pct,type FROM ".MYSQL_PLAYER.".item_proto WHERE vnum = '$PaketCek[ItemVnum]'");
// echo("SELECT socket_pct FROM ".MYSQL_PLAYER.".item_proto WHERE vnum = '$VeriCek[ItemVnum]'
");
$ItemCek = mysql_fetch_array($ItemQuery);
$BosTas = $ItemCek["socket_pct"];
$Taslar = array(
"socket0" => "0",
"socket1" => "0",
"socket2" => "0",
"socket3" => "0",
"socket4" => "0",
"socket5" => "0"
);
for($i = 0,$j = $BosTas;$j > 0;$j--,$i++)
{
$Taslar["socket".$i] = 1;
}
$Pos = PosBul();
$ItemOlustur = mysql_query("INSERT INTO ".MYSQL_PLAYER.".item (owner_id,window,pos,count,vnum) VALUES ('".$_SESSION["HesapId"]."','MALL','$Pos','$PaketCek[Adet]','$PaketCek[ItemVnum]')");
// echo("INSERT INTO ".MYSQL_PLAYER.".item (owner_id,window,pos,count,vnum) VALUES ('".$_SESSION[HesapId]."','MALL','$Pos','$PaketCek[Adet]','$PaketCek[ItemVnum]')
");
$OlusanItemId = mysql_insert_id();
mysql_query("INSERT INTO ".MYSQL_DB.".is_log (HesapId,ItemVnum,OdenenEP,Tarih,ItemId,OlusanItem) VALUES('".$_SESSION["HesapId"]."','$PaketCek[ItemVnum]','$Ucret','$Tarih','$ItemId','$OlusanItemId')");
// echo("INSERT INTO ".MYSQL_DB.".is_log (HesapId,ItemVnum,OdenenEP,Tarih,ItemId,OlusanItem) VALUES('".$_SESSION[HesapId]."','$PaketCek[ItemVnum]','$Ucret','$Tarih','$ItemId','$OlusanItemId')
");
foreach($Taslar as $Veri => $Key)
{
if($Key == 1)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET $Veri = '1' WHERE id = '$OlusanItemId'");
}
if($BosTas == 0 and (strlen($PaketCek["ItemSuresi"]) > 0))
{
$OlusanItemSuresi = time() + (60*$PaketCek["ItemSuresi"]);
if($ItemCek["type"] == 28)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET socket0 = '$OlusanItemSuresi' WHERE id = '$OlusanItemId'");
elseif($ItemCek["type"] == 3)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET socket0 = '$OlusanItemSuresi' WHERE id = '$OlusanItemId'");
}
}
}
}
else
{
$PosQuery = mysql_query("SELECT pos FROM ".MYSQL_PLAYER.".item WHERE owner_id = '".$_SESSION["HesapId"]."' AND window = 'MALL'");
$PosSay = mysql_num_rows($PosQuery);
if(($PosSay + $Adet) > 45)
throw new Exception("Nesne deponuzda yeterli alan bulunmuyor.");
$ItemQuery = mysql_query("SELECT socket_pct,type FROM ".MYSQL_PLAYER.".item_proto WHERE vnum = '$VeriCek[ItemVnum]'");
// echo("SELECT socket_pct FROM ".MYSQL_PLAYER.".item_proto WHERE vnum = '$VeriCek[ItemVnum]'
");
$ItemCek = mysql_fetch_array($ItemQuery);
$BosTas = $ItemCek["socket_pct"];
$Taslar = array(
"socket0" => "0",
"socket1" => "0",
"socket2" => "0",
"socket3" => "0",
"socket4" => "0",
"socket5" => "0"
);
for($i = 0,$j = $BosTas;$j > 0;$j--,$i++)
{
$Taslar["socket".$i] = 1;
}
mysql_query("UPDATE ".MYSQL_ACCOUNT.".account SET ".$OdemeTuru." = ".$OdemeTuru." - '$ToplamUcret' WHERE id = '".$_SESSION["HesapId"]."'");
for($Eklenen = 0;$Eklenen < $Adet;$Eklenen++)
{
$Pos = PosBul();
$ItemOlustur = mysql_query("INSERT INTO ".MYSQL_PLAYER.".item (owner_id,window,pos,count,vnum) VALUES ('".$_SESSION["HesapId"]."','MALL','$Pos','$VeriCek[Adet]','$VeriCek[ItemVnum]')");
// echo("INSERT INTO ".MYSQL_PLAYER.".item (owner_id,window,pos,count,vnum) VALUES ('".$_SESSION[HesapId]."','MALL','$Pos','$VeriCek[Adet]','$VeriCek[ItemVnum]')
");
$OlusanItemId = mysql_insert_id();
mysql_query("INSERT INTO ".MYSQL_DB.".is_log (HesapId,ItemVnum,OdenenEP,Tarih,ItemId,OlusanItem) VALUES('".$_SESSION["HesapId"]."','$VeriCek[ItemVnum]','$Ucret','$Tarih','$ItemId','$OlusanItemId')");
// echo("INSERT INTO ".MYSQL_DB.".is_log (HesapId,ItemVnum,OdenenEP,Tarih,ItemId,OlusanItem) VALUES('".$_SESSION[HesapId]."','$VeriCek[ItemVnum]','$Ucret','$Tarih','$ItemId','$OlusanItemId')
");
foreach($Taslar as $Veri => $Key)
{
if($Key == 1)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET $Veri = '1' WHERE id = '$OlusanItemId'");
}
if($BosTas == 0 and (strlen($VeriCek["ItemSuresi"]) > 0))
{
$OlusanItemSuresi = time() + (60*$VeriCek["ItemSuresi"]);
/* Kuşaklarda Emilim Sorunu Fix */
if(!($VeriCek["ItemVnum"] > 85000 and $VeriCek["ItemVnum"] < 85072))
{
if($ItemCek["type"] == 16)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET socket0 = '$OlusanItemSuresi' WHERE id = '$OlusanItemId'");
elseif($ItemCek["type"] == 28)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET socket0 = '$OlusanItemSuresi' WHERE id = '$OlusanItemId'");
elseif($ItemCek["type"] == 18)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET socket0 = '$OlusanItemSuresi' WHERE id = '$OlusanItemId'");
elseif($ItemCek["type"] == 3)
mysql_query("UPDATE ".MYSQL_PLAYER.".item SET socket0 = '$OlusanItemSuresi' WHERE id = '$OlusanItemId'");
}
}
}
}
if($VeriCek["OdemeTuru"] == "EP")
{
$KazancEM = $ToplamUcret * EM_ORANI;
if(strlen(EM_TIPI) > 0)
{
mysql_query("UPDATE ".MYSQL_ACCOUNT.".account SET ".EM_TIPI." = ".EM_TIPI." + '$KazancEM' WHERE id = '".$_SESSION["HesapId"]."'");
// echo("UPDATE ".MYSQL_ACCOUNT.".account SET ".EM_TIPI." = ".EM_TIPI." + '$KazancEM' WHERE id = '".$_SESSION[HesapId]."'
");
}
$_SESSION[Em] += $KazancEM;
}
$Log = new Log;
$Log->MYSQL("EsyaSatinAldi","Eşya Id : $ItemId|Adet : $Adet|Item Adi : $VeriCek[ItemAdi]|Satın Almadan Önceki Bakiye : $MevcutBakiye|Toplam Tutar : $ToplamUcret|Olusan Item Id : $OlusanItemId");
?>
=$VeriCek["ItemAdi"]?> (=$Adet?> adet)
Eşyanı hesabının eşya dükkanı deposunda bulursun. "Hesap yükseltme" kategorisinde ait eşyalar bir sonraki girişinde otomatik olarak etkinleşir.
Bu alışveriş sana =$KazancEM?> EM kazandırdı.
'.$HataMesaji->getMessage().'
Bir hata oluştu.