Ir para conteúdo

Problema Com Gesior Shop


dennis126

Posts Recomendados

instalei o site gesior no meu servidor, mais na hora de comprar a vip ou itens pelo shop. os itens nao chega e nem a vip.

Meu sistema vip cria as database sozinho e só funciona usando o comando ingame /addvip blabla,1 . Portanto queria uma ajuda pra resolver esse problema.

 

=)

Editado por DennisMalheiros
Link para o comentário
Compartilhar em outros sites

para os itens chegarem nos personagens você têm que colocar um script no seu ot e poste o seu sistema vip e o script buyvip para eu tentar resolver o outro problema

 

 

(leia o post do bekman que ele ta explicando como fazer para os itens chegarem nos personagens)

 

post dele:http://www.xtibia.com/forum/topic/166384-gesior-nao-manda-iten-para-o-char/

Link para o comentário
Compartilhar em outros sites

Add_VIP

function onSay(cid, words, param, channel)
domodlib('Vip_Libs')
local Data = string.explode(param, ",")
if (words:sub(2, 2) == "a") then
if (not Data[1]) then
doPlayerSendCancel(cid, "Insira um nome.")
return true
elseif (not Data[2] or Data[2] == "") then
doPlayerSendCancel(cid, "Insira a quantidade de dias de vip que vai adionar ao player.")
return true
elseif not isNumber(Data[2]) then
doPlayerSendCancel(cid, "Use apenas numeros.")
return true
end
local AccID = getAccountIdByName(Data[1])
if (AccID > 0) then
if (getPlayerByName(Data[1])) then
doSendMagicEffect(getCreaturePosition(getPlayerByName(Data[1])), CONST_ME_MAGIC_GREEN)
end
if getVipTimeByName(Data[1]) == 0 then
db.executeQuery("UPDATE `accounts` SET `vip_time` = 86400 * ".. Data[2] .." + ".. os.time() .." WHERE `accounts`.`id` = ".. AccID ..";")
else
db.executeQuery("UPDATE `accounts` SET `vip_time` = `accounts`.`vip_time` + (86400 * ".. Data[2] ..") WHERE `accounts`.`id` = ".. AccID ..";")
end
db.executeQuery("UPDATE `accounts` SET `vip` = 1 WHERE `accounts`.`id` = ".. AccID ..";")
db.executeQuery("UPDATE `accounts` SET `vip_days` = `accounts`.`vip_days` + ".. Data[2] .." WHERE `accounts`.`id` = ".. AccID ..";")
if Data[2] == '0' then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Nenhum dia de vip foi adicionado a conta ".. getAccountByName(Data[1]) ..".")
elseif Data[2] > '1' then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado ".. Data[2] .." dias de vip a conta ".. getAccountByName(Data[1]) ..".")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado 1 dia de vip a conta ".. getAccountByName(Data[1]) ..".")
end

else
doPlayerSendCancel(cid, "O player ".. Data[1] .." não existe.")
end
else
if getVipDays(cid) == 0 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não é um jogador vip.")
elseif getVipDays(cid) > 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. getVipDays(cid) .." dias de vip.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem 1 dia de vip.")
end
end
return true
end

VIP_CHECK

 

function onThink(interval)
Query = db.getResult("SELECT `id`, `name`, `vip_days`, `vip_time` FROM `accounts` WHERE `accounts`.`vip` = 1")
if(Query:getID() == -1) then
return true
end
for i = 1, Query:getRows() do
local AccID = Query:getDataInt("id")
local AccName = Query:getDataInt("name")
local VipDays = Query:getDataInt("vip_days")
local VipTime = Query:getDataInt("vip_time")
if VipTime >= os.time() then
if VipDays ~= math.ceil((VipTime - os.time()) / 86400) then
db.executeQuery("UPDATE `accounts` SET `vip_days` = ".. math.ceil((VipTime - os.time()) / 86400) .." WHERE `accounts`.`id` = ".. AccID ..";")
if math.ceil((VipTime - os.time()) / 86400) == 1 then
print("A conta ".. AccName .." tem ".. math.ceil((VipTime - os.time()) / 86400) .." dia de vip restante")
else
print("A conta ".. AccName .." tem ".. math.ceil((VipTime - os.time()) / 86400) .." dias de vip restantes")
end
end
else
db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `accounts`.`id` = ".. AccID ..";")
db.executeQuery("UPDATE `accounts` SET `vip_days` = 0 WHERE `accounts`.`id` = ".. AccID ..";")
db.executeQuery("UPDATE `accounts` SET `vip` = 0 WHERE `accounts`.`id` = ".. AccID ..";")
db.executeQuery("UPDATE `players`  SET `reset_temple` = 1 WHERE `players`.`account_id` = ".. AccID ..";")
print("A vip da conta ".. AccName .." acabou.")
end
Query:next()
end
Query:free()
return true
end

 

 

vip_install

function onStartup()
local Query = db.getResult("SELECT `config`, `value` FROM `server_config` WHERE `server_config`.`config` = 'vip_sys';")
if(Query:getID() == -1) then
local Install_Query =
{
mysql =
{
"ALTER TABLE `accounts` ADD `vip` TINYINT NOT NULL DEFAULT '0' AFTER `premdays`;",
"ALTER TABLE `accounts` ADD `vip_days` INT NOT NULL DEFAULT '0' AFTER `vip`;",
"ALTER TABLE `accounts` ADD `vip_time` INT NOT NULL DEFAULT '0' AFTER `vip_days`;",
"ALTER TABLE `players` ADD `reset_temple` TINYINT NOT NULL DEFAULT '0' AFTER `town_id`;",
"INSERT INTO `server_config` (`config`, `value`) VALUES ('vip_sys', 1);"

},
sqlite =
{
"ALTER TABLE `accounts` ADD `vip` INTEGER NOT NULL DEFAULT 0;",
"ALTER TABLE `accounts` ADD `vip_days` INTEGER NOT NULL DEFAULT 0;",
"ALTER TABLE `accounts` ADD `vip_time` INTEGER NOT NULL DEFAULT 0;",
"ALTER TABLE `players` ADD `reset_temple` INTEGER NOT NULL DEFAULT 0;",
"INSERT INTO `server_config` VALUES ('vip_sys', 1);"
}
}
print(">> Instalando vip_sys...")
print(">> Verificando tipo de banco de dados...")
print(">> Tipo do banco de dados ".. getConfigValue('sqlType') .."...")
if getConfigValue('sqlType') == "mysql" then
for i = 1, #Install_Query.mysql do
print(">> ".. Install_Query.mysql[i] .."")
db.executeQuery(Install_Query.mysql[i])
end
elseif getConfigValue('sqlType') == "sqlite" then
for i = 1, #Install_Query.sqlite do
print(">> ".. Install_Query.sqlite[i] .."")
db.executeQuery(Install_Query.sqlite[i])
end
else
print(">> Banco de dados ".. getConfigValue('sqlType') .." sem suporte ao sistema vip_sys")
end
print(">> vip_sys instalado e operando...")
return true
end
local Config = Query:getDataString("config")
local Value = Query:getDataInt("value")
if Value == 1 then
print(">> Sistema vip funcionando e atualizado...")
end
return true
end

 

 

VIP_LOGIN

 

function goRookTemple(cid)
doTeleportThing(cid, getTownTemplePosition(RookTempleID))
doSendMagicEffect(fromPos, CONST_ME_POFF)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
db.executeQuery("UPDATE `players`  SET `reset_temple` = 0 WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";")
end

function goMainTemple(cid)
doTeleportThing(cid, getTownTemplePosition(MainTempleID))
doPlayerSetTown(cid, MainTempleID)
doSendMagicEffect(fromPos, CONST_ME_POFF)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
db.executeQuery("UPDATE `players`  SET `reset_temple` = 0 WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";")
end

function onLogin(cid)
domodlib('Rook_Config')
domodlib('Vip_Libs')
if getVipDays(cid) == 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Resta 1 dia de vip.")
elseif getVipDays(cid) > 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Restam ".. getVipDays(cid) .." dias de vip.")
end
fromPos = getCreaturePosition(cid)
if (isVip(cid) == false) then
if getThingFromPos({x = fromPos.x, y = fromPos.y, z = fromPos.z, stackpos = 0}).actionid == 7777 then
if (RookSistem == "no") then
if isRookie(cid) == true then
goRookTemple(cid)
else
goMainTemple(cid)
end
else
goMainTemple(cid)
end
end
end
if getResetTemple(cid) == true then
if (RookSistem == "no") then
if isRookie(cid) == true then
goRookTemple(cid)
else
goMainTemple(cid)
end
else
goMainTemple(cid)
end
end
return true
end

 

VIP_TILE

 

local function vipPushBack(cid, position, fromPosition, displayMessage)
doTeleportThing(cid, fromPosition, true)
doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
if(displayMessage) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Está zona so jogadores VIP podem entrar.")
end
end

function onStepIn(cid, item, position, fromPosition)
domodlib('Vip_Libs')
if (isVip(cid) == false) then
vipPushBack(cid, position, fromPosition, true)
end
end

 

 

E O XML:

 

]<?xml version="1.0" encoding="UTF-8"?>
<mod name="vip_sys" version="4.0" author="Luke sky walker" contact="Lukeskywalker25_2501@hotmail.com" enabled="yes">
<config name="Rook_Config"><![CDATA[
RookSistem = "no"
RookTempleID = 1
MainTempleID = 2
]]></config>
<config name="Vip_Libs"><![CDATA[
function getResetTemple(cid)
local Query = db.getResult("SELECT `reset_temple` FROM `players` WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";")
return (isPlayer(cid) == true and (Query:getDataInt("reset_temple") == 1)) and true or false
end
function isVip(cid)
local Query = db.getResult("SELECT `vip` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";")
return (isPlayer(cid) == true and (Query:getDataInt("vip") == 1)) and true or false
end
function getVipTimeByName(Name)
local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(Name) ..";")
return Query:getDataInt("vip_time")
end
function getVipDays(cid)
local Query = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";")
return Query:getDataInt("vip_days")
end
]]></config>
<talkaction words="/addvip" access="5" event="script" value="vip_sys/add_vip.lua"/>
<globalevent name="vip_sys" type="startup" event="script" value="vip_sys/vip_install.lua"/>
<globalevent name="vip_check" interval="5000" event="script" value="vip_sys/vip_check.lua"/>
<movevent type="StepIn" actionid="7777" event="script" value="vip_sys/vip_tile.lua"/>
<event type="login" name="vip_login" event="script" value="vip_sys/vip_login.lua"/>
</mod>

 

todos esses scripts fica na pasta mods.

 

quanto aos itens vou testar e qlqer coisa posto ake. ! obg

 

OK, dos itens funfo cara agora só falta mesmo é da vip ! :D

 

UP ~ alguem me ajuda a configurar o shop para funcionar com sistema vip !!!

Editado por DennisMalheiros
Link para o comentário
Compartilhar em outros sites

Shopsystem.php

 

<?PHP

// ALTER TABLE `z_shop_history_item` CHANGE `offer_id` `offer_id` VARCHAR( 255 ) NOT NULL;

// UPDATE `z_shop_history_item`, `z_shop_offer` SET `z_shop_history_item`.`offer_id` = `z_shop_offer`.`offer_name` WHERE `z_shop_history_item`.`offer_id` = `z_shop_offer`.`id`;

if($config['site']['shop_system'] == 1) {

if($logged)

$user_premium_points = $account_logged->getCustomField('premium_points');

else

$user_premium_points = 'Login first';

 

function getItemByID($id)

{

$id = (int) $id;

$SQL = $GLOBALS['SQL'];

$data = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' WHERE '.$SQL->fieldName('id').' = '.$SQL->quote($id).';')->fetch();

if ($data['offer_type'] == 'pacc')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['days'] = $data['count1'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'item')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['item_id'] = $data['itemid1'];

$offer['item_count'] = $data['count1'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'vipdays')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['days'] = $data['count1'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'itemvip')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['item_id'] = $data['itemid1'];

$offer['item_count'] = $data['count1'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'container')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['container_id'] = $data['itemid2'];

$offer['container_count'] = $data['count2'];

$offer['item_id'] = $data['itemid1'];

$offer['item_count'] = $data['count1'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'unban')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'redskull')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

elseif ($data['offer_type'] == 'itemlogout')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['pid'] = $data['pid'];

$offer['count1'] = $data['count1'];

$offer['item_id'] = $data['itemid1'];

$offer['free_cap'] = $data['free_cap'];

}

elseif ($data['offer_type'] == 'changename')

{

$offer['id'] = $data['id'];

$offer['type'] = $data['offer_type'];

$offer['points'] = $data['points'];

$offer['description'] = $data['offer_description'];

$offer['name'] = $data['offer_name'];

}

return $offer;

}

 

function getOfferArray()

{

$offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').';');

$i_pacc = 0;

$i_item = 0;

$i_vipdays = 0;

$i_itemvip = 0;

$i_container = 0;

$i_unban = 0;

$i_redskull = 0;

$i_itemlogout = 0;

$i_changename = 0;

while($data = $offer_list->fetch()) {

if ($data['offer_type'] == 'pacc')

{

$offer_array['pacc'][$i_pacc]['id'] = $data['id'];

$offer_array['pacc'][$i_pacc]['days'] = $data['count1'];

$offer_array['pacc'][$i_pacc]['points'] = $data['points'];

$offer_array['pacc'][$i_pacc]['description'] = $data['offer_description'];

$offer_array['pacc'][$i_pacc]['name'] = $data['offer_name'];

$i_pacc++;

}

elseif ($data['offer_type'] == 'item')

{

$offer_array['item'][$i_item]['id'] = $data['id'];

$offer_array['item'][$i_item]['item_id'] = $data['itemid1'];

$offer_array['item'][$i_item]['item_count'] = $data['count1'];

$offer_array['item'][$i_item]['points'] = $data['points'];

$offer_array['item'][$i_item]['description'] = $data['offer_description'];

$offer_array['item'][$i_item]['name'] = $data['offer_name'];

$i_item++;

}

elseif ($data['offer_type'] == 'vipdays')

{

$offer_array['vipdays'][$i_vipdays]['id'] = $data['id'];

$offer_array['vipdays'][$i_vipdays]['days'] = $data['count1'];

$offer_array['vipdays'][$i_vipdays]['points'] = $data['points'];

$offer_array['vipdays'][$i_vipdays]['description'] = $data['offer_description'];

$offer_array['vipdays'][$i_vipdays]['name'] = $data['offer_name'];

$i_vipdays++;

}

elseif ($data['offer_type'] == 'itemvip')

{

$offer_array['itemvip'][$i_itemvip]['id'] = $data['id'];

$offer_array['itemvip'][$i_itemvip]['item_id'] = $data['itemid1'];

$offer_array['itemvip'][$i_itemvip]['item_count'] = $data['count1'];

$offer_array['itemvip'][$i_itemvip]['points'] = $data['points'];

$offer_array['itemvip'][$i_itemvip]['description'] = $data['offer_description'];

$offer_array['itemvip'][$i_itemvip]['name'] = $data['offer_name'];

$i_itemvip++;

}

elseif ($data['offer_type'] == 'container')

{

$offer_array['container'][$i_container]['id'] = $data['id'];

$offer_array['container'][$i_container]['container_id'] = $data['itemid2'];

$offer_array['container'][$i_container]['container_count'] = $data['count2'];

$offer_array['container'][$i_container]['item_id'] = $data['itemid1'];

$offer_array['container'][$i_container]['item_count'] = $data['count1'];

$offer_array['container'][$i_container]['points'] = $data['points'];

$offer_array['container'][$i_container]['description'] = $data['offer_description'];

$offer_array['container'][$i_container]['name'] = $data['offer_name'];

$i_container++;

}

elseif ($data['offer_type'] == 'unban')

{

$offer_array['unban'][$i_unban]['id'] = $data['id'];

$offer_array['unban'][$i_unban]['points'] = $data['points'];

$offer_array['unban'][$i_unban]['description'] = $data['offer_description'];

$offer_array['unban'][$i_unban]['name'] = $data['offer_name'];

$i_unban++;

}

elseif ($data['offer_type'] == 'redskull')

{

$offer_array['redskull'][$i_redskull]['id'] = $data['id'];

$offer_array['redskull'][$i_redskull]['points'] = $data['points'];

$offer_array['redskull'][$i_redskull]['description'] = $data['offer_description'];

$offer_array['redskull'][$i_redskull]['name'] = $data['offer_name'];

$i_redskull++;

}

elseif ($data['offer_type'] == 'itemlogout')

{

$offer_array['itemlogout'][$i_itemlogout]['id'] = $data['id'];

$offer_array['itemlogout'][$i_itemlogout]['points'] = $data['points'];

$offer_array['itemlogout'][$i_itemlogout]['description'] = $data['offer_description'];

$offer_array['itemlogout'][$i_itemlogout]['name'] = $data['offer_name'];

$offer_array['itemlogout'][$i_itemlogout]['count1'] = $data['count1'];

$offer_array['itemlogout'][$i_itemlogout]['pid'] = $data['pid'];

$offer_array['itemlogout'][$i_itemlogout]['item_id'] = $data['itemid1'];

$offer_array['itemlogout'][$i_itemlogout]['free_cap'] = $data['free_cap'];

$i_itemlogout++;

}

elseif ($data['offer_type'] == 'changename')

{

$offer_array['changename'][$i_changename]['id'] = $data['id'];

$offer_array['changename'][$i_changename]['points'] = $data['points'];

$offer_array['changename'][$i_changename]['description'] = $data['offer_description'];

$offer_array['changename'][$i_changename]['name'] = $data['offer_name'];

$i_changename++;

}

}

return $offer_array;

}

 

if($action == '') {

unset($_SESSION['viewed_confirmation_page']);

$main_content .= '<h2><center>Welcome to '.$config['server']['serverName'].' Shop.</center></h2>';

$offer_list = getOfferArray();

//show list of vipdays offers

if(count($offer_list['vipdays']) > 0) {

$main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> VIP Days</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>';

foreach($offer_list['vipdays'] as $vipdays) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center">'.$vipdays['days'].'</td><td><b>'.$vipdays['name'].'</b> ('.$vipdays['points'].' points)<br />'.$vipdays['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$vipdays['id'].'"><input type="submit" value="Buy '.$vipdays['name'].'"><br><b>for '.$vipdays['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

$main_content .= '</table><br />';

}

//show list of itemsvip offers

if(count($offer_list['itemvip']) > 0) {

$main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Items VIP</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>';

foreach($offer_list['itemvip'] as $itemvip) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$itemvip['id'].'.gif"></td><td><b>'.$itemvip['name'].'</b> ('.$itemvip['points'].' points)<br />'.$itemvip['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$itemvip['id'].'"><input type="submit" value="Buy '.$itemvip['name'].'"><br><b>for '.$item['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

$main_content .= '</table><br />';

}

//show list of items offers

if(count($offer_list['item']) > 0 or count($offer_list['container']) > 0 or count($offer_list['itemlogout']) > 0)

$main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> ITEMS</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>';

if(count($offer_list['item']) > 0) {

foreach($offer_list['item'] as $item) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$item['id'].'.gif"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$item['id'].'"><input type="submit" value="Buy '.$item['name'].'"><br><b>for '.$item['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

$main_content .= '</table><br />';

}

//show list of containers offers

if(count($offer_list['container']) > 0) {

$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>';

foreach($offer_list['container'] as $container) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$container['id'].'.gif"></td><td><b>'.$container['name'].'</b> ('.$container['points'].' points)<br />'.$container['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$container['id'].'"><input type="submit" value="Buy '.$container['name'].'"><br><b>for '.$container['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

$main_content .= '</table><br />';

}

if(count($offer_list['itemlogout']) > 0) {

$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Receive Item on Logout</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></font></td><td width="350" align="left"><b>Description</b></font></td><td width="250" align="center"><b>Select product</b></font></td></tr>';

foreach($offer_list['itemlogout'] as $itemlogout) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$itemlogout['id'].'.gif"></td><td><b>'.$itemlogout['name'].'</b> ('.$itemlogout['points'].' points)<br />'.$itemlogout['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$itemlogout['id'].'"><input type="submit" value="Buy '.$itemlogout['name'].'"><br><b>for '.$itemlogout['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

$main_content .= '</table><br />';

}

if(count($offer_list['changename']) > 0 or count($offer_list['pacc']) > 0 or count($offer_list['redskull']) > 0 or count($offer_list['unban']) > 0 )

$main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Others</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>#</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>';

//Pacc

if(count($offer_list['pacc']) > 0)

foreach($offer_list['pacc'] as $pacc) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center">'.$pacc['days'].'</td><td><b>'.$pacc['name'].'</b> ('.$pacc['points'].' points)<br />'.$pacc['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$pacc['id'].'"><input type="submit" value="Buy '.$pacc['name'].'"><br><b>for '.$pacc['points'].' points</b></form>';

}

//Change Name

if(count($offer_list['changename']) > 0)

foreach($offer_list['changename'] as $changename) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center">Change Name</td><td><b>'.$changename['name'].'</b> ('.$changename['points'].' points)<br />'.$changename['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$changename['id'].'"><input type="submit" value="Buy '.$changename['name'].'"><br><b>for '.$changename['points'].' points</b></form>';

}

//Remove Red Skull

if(count($offer_list['redskull']) > 0)

foreach($offer_list['redskull'] as $redskull) {

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$redskull['id'].'.gif"></td><td><b>'.$redskull['name'].'</b> ('.$redskull['points'].' points)<br />'.$redskull['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$redskull['id'].'"><input type="submit" value="Buy '.$redskull['name'].'"><br><b>for '.$redskull['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

//Unban

if(count($offer_list['unban']) > 0)

foreach($offer_list['unban'] as $unban){

$main_content .= '<tr bgcolor="#F1E0C6"><td align="center">Unban</td><td><b>'.$unban['name'].'</b> ('.$unban['points'].' points)<br />'.$unban['description'].'</td><td align="center">';

if(!$logged) $main_content .= '<b>Login to buy</b>'; else

$main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$unban['id'].'"><input type="submit" value="Buy '.$unban['name'].'"><br><b>for '.$unban['points'].' points</b></form>';

$main_content .= '</td></tr>';

}

$main_content .= '</table>';

}

elseif($action == 'select_player') {

unset($_SESSION['viewed_confirmation_page']);

if(!$logged) {

$main_content .= 'Please login first.';

} else {

$buy_id = (int) $_REQUEST['buy_id'];

if(empty($buy_id)) {

$main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.';

} else {

$buy_offer = getItemByID($buy_id);

if(isset($buy_offer['id'])) { //item exist in database

if($buy_offer['type'] != 'changename') {

if($user_premium_points >= $buy_offer['points']) {

$main_content .= '<center><h2>Select player</h2><table border="0" cellpadding="1" cellspacing="1" width="650">

<tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Selected offer</b></font></td></tr>

<tr bgcolor="#F1E0C6"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr>

<tr bgcolor="#D4C0A1"><td width="100"><b>Description:</b></td><td width="550">'.$buy_offer['description'].'</td></tr>

</table><br /><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'">

<table border="0" cellpadding="1" cellspacing="1" width="650">

<tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Give item to a player from your account</b></font></td></tr>

<tr bgcolor="#F1E0C6"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">';

$players_from_logged_acc = $account_logged->getPlayersList();

if(count($players_from_logged_acc) > 0) {

$players_from_logged_acc->orderBy('name');

foreach($players_from_logged_acc as $player)

$main_content .= '<option>'.$player->getName().'</option>';

} else {

$main_content .= 'You don\'t have any character on your account.';

}

$main_content .= '</select> <input type="submit" value="Give"></td></tr></table>

</form><br /><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'">

<table border="0" cellpadding="1" cellspacing="1" width="650">

<tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Give item to other player</b></font></td></tr>

<tr bgcolor="#D4C0A1"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of the player who should get item</td></tr>

<tr bgcolor="#F1E0C6"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>

</table><br /></form>';

} else {

$main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points.<br>You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="index.php?subtopic=shopsystem">select other item</a> or buy premium points.';

}

} else {

$main_content .= '<center><h2>Change Name</h2><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'">

<table border="0" cellpadding="1" cellspacing="1" width="650"><tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Change Name:</b></font></td></tr>

<tr bgcolor="#D4C0A1"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">';

$players_from_logged_acc = $account_logged->getPlayersList();

if(count($players_from_logged_acc) > 0) {

$players_from_logged_acc->orderBy('name');

foreach($players_from_logged_acc as $player) {

$main_content .= '<option>'.$player->getName().'</option>';

}

} else {

$main_content .= 'You don\'t have any character on your account.';

}

$main_content .= '</select></td></tr><tr bgcolor="#F1E0C6"><td width="110"><b>New name:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Change Name"></td></tr></table><br /></form>';

}

} else {

$main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem">select item</a> again.';

}

}

}

}

elseif($action == 'confirm_transaction') {

if(!$logged) {

$main_content .= 'Please login first.';

} else {

$buy_id = (int) $_POST['buy_id'];

$buy_name = stripslashes(urldecode($_POST['buy_name']));

$buy_from = stripslashes(urldecode($_POST['buy_from']));

if(empty($buy_id)) {

$main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.';

} else {

if($buy_offer['type'] == 'changename'){

if(!check_name_new_char($buy_from)) {

$main_content .= 'Invalid name format of new name.';

}

} else {

$buy_offer = getItemByID($buy_id);

$check_name_in_database = $ots->createObject('Player');

$check_name_in_database->find($buy_from);

if($buy_offer['type'] == 'changename'){

if(!$check_name_in_database->isLoaded()) {

}

}

if(isset($buy_offer['id'])) { //item exist in database

if($user_premium_points >= $buy_offer['points']) {

if(check_name($buy_name)) {

$buy_player = new OTS_Player();

$buy_player->find($buy_name);

if($buy_player->isLoaded()) {

$buy_player_account = $buy_player->getAccount();

if($_SESSION['viewed_confirmation_page'] == 'yes' && $_POST['buy_confirmed'] == 'yes') {

if($buy_offer['type'] == 'pacc') {

$player_vip_time = $buy_player_account->getCustomField('vip_time');

$player_lastlogin = $buy_player_account->getCustomField('lastday');

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');';

$SQL->query($save_transaction);

if($player_vip_time > 0)

$buy_player_account->setCustomField('vip_time', $player_vip_time + $buy_offer['days'] * 86400);

else

$buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);

$buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

if ($player_vip_days >= 1) {

}

$main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';

}

elseif($buy_offer['type'] == 'unban') {

$my_acc_id = $account_logged->getCustomField('id');

$datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('bans').' WHERE value = '.$my_acc_id.';')->fetch();

if($datadata['value'] == $my_acc_id) {

if($SQL->query('DELETE FROM bans WHERE value= '.$my_acc_id.' LIMIT 1;')) {

} else {

$SQL->query('DELETE FROM bans WHERE account= '.$my_acc_id.' LIMIT 1;');

}

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<center><h2>Ban Deleted!</h2><b>Your account has been unbanned for '.$buy_offer['points'].' premium points</b> from your account.

<br>Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';

} else {

$main_content .= '<center><b>You don\'t have any bans in your account!</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>';

}

}

////////////////////////////////

elseif($buy_offer['type'] == 'itemlogout') {

$my_acc_id = $buy_player->getCustomField('id');

$playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE id = '.$my_acc_id.';')->fetch();

$playerslot = $SQL->query('SELECT * FROM '.$SQL->tableName('player_items').' WHERE player_id = '.$my_acc_id.';')->fetch();

if($playerinfo['online'] == '0') {

if ($playerslot['pid'] != '10') {

if ($datadata['cap'] >= $SQL->quote($buy_offer['free_cap'])) {

$SQL->query('INSERT INTO player_items (player_id, pid, itemtype, count) VALUES ('.$my_acc_id.', '.$SQL->quote($buy_offer['pid']).', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['count1']).');');

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<h2>Item received to player: '.$buy_player->getName().'!</h2><br>Now you have <b>'.$user_premium_points.' premium points</b>.

<br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a>';

} else {

$main_content .= '<b>You need '.$SQL->quote($buy_offer['free_cap']).' or more of cap!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>';

}

} else {

$main_content .= '<b>Please leave the arrow slot in blank to receive item!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>';

}

} else {

$main_content .= '<b>You need to be offline!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>';

}

}

////////////////////////////////

elseif($buy_offer['type'] == 'changename') {

$my_acc_id = $buy_player->getCustomField('id');

$playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();

$checkname = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('name').' = '. $SQL->quote($buy_from) .';')->fetch();

if($playerinfo['online'] == '0') {

if($checkname == false) {

$SQL->query('UPDATE `players` SET `name` = '. $SQL->quote($buy_from) .' WHERE `id` = '. $my_acc_id.' ;');

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<center><h2>Your name has been changed to '.$buy_from.'.</h2><br><b>You have '.$user_premium_points.' premium points left</b>.

<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';

} else {

$main_content .= '<center><h2>Sorry, the name "<i>'.$buy_from.'</i>" does already exist.<br>Please select another name.</h2><br>';

}

} else {

$main_content .= '<center><h2>'.$buy_name.' has to be offline to complete transaction.</h2><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>';

}

}

////////////////////////////////

elseif($buy_offer['type'] == 'redskull') {

$my_acc_id = $buy_player->getCustomField('id');

$playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();

if($playerinfo['skull'] == '4' AND $playerinfo['online'] >= '0' AND $playerinfo['skulltime'] > '0') {

$SQL->query('UPDATE killers SET unjustified=0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id='. $my_acc_id .');');

$SQL->query('UPDATE players SET skulltime=0, skull=0 WHERE id='. $my_acc_id .';');

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<center><h2>RedSkull Removed!</h2><br><b>Your redskull has been removed from the player '.$buy_player->getName().'.</b>

<br>Now you have<b> '.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';

} else {

$main_content .= '<center><b>'.$buy_player->getName().' has to be offline or have redskull to complete transaction!.</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>';

}

}

//////////////////////////

elseif($buy_offer['type'] == 'item') {

$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', \'\', \'\', \'item\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');';

$SQL->query($sql);

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');';

$SQL->query($save_transaction);

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<center><h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br>Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a><br>';

}

if($buy_offer['type'] == 'vipdays') {

$player_vip_time = $buy_player_account->getCustomField('vip_time');

$player_lastlogin = $buy_player_account->getCustomField('lastday');

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');';

$SQL->query($save_transaction);

if($player_vip_time > 0)

$buy_player_account->setCustomField('vip_time', $player_vip_time + $buy_offer['days'] * 86400);

else

$buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

if ($player_vip_days >= 1) {

}

$main_content .= '<center><h2>VIP Days added!</h2><b>'.$buy_offer['days'].' days</b> of VIP days added to the account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>';

}

elseif($buy_offer['type'] == 'itemvip') {

$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['megaitems_count']).', \'\', \'\', \'megaitems\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');';

$SQL->query($sql);

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');';

$SQL->query($save_transaction);

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<center><h2>Mega Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br>Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a><br>';

}

elseif($buy_offer['type'] == 'container') {

$sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote($buy_offer['container_id']).', '.$SQL->quote($buy_offer['container_count']).', \'container\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');';

$SQL->query($sql);

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');';

$SQL->query($save_transaction);

$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

$main_content .= '<center><h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a><br>';

}

} else {

if($buy_offer['type'] != 'changename') {

$set_session = TRUE;

$_SESSION['viewed_confirmation_page'] = 'yes';

$main_content .= '<center><h2>Confirm transaction</h2>

<table border="0" cellpadding="1" cellspacing="1" width="700">

<tr bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>Confirm transaction</b></font></td></tr>

<tr bgcolor="#D4C0A1"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>

<tr bgcolor="#F1E0C6"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>

<tr bgcolor="#D4C0A1"><td width="100"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr>

<tr bgcolor="#F1E0C6"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>

<tr bgcolor="#D4C0A1"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>

<tr bgcolor="#F1E0C6"><td width="100"><b>Transaction?</b></td><td width="275" align="left">

<form action="index.php?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($new_name).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td>

<td align="right"><form action="index.php?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr>

</table>';

} else {

$set_session = TRUE;

$_SESSION['viewed_confirmation_page'] = 'yes';

$main_content .= '<center><h2>Confirm Name Changing</h2>

<table border="0" cellpadding="1" cellspacing="1" width="700">

<tr bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>Confirm transaction</b></font></td></tr>

<tr bgcolor="#D4C0A1"><td width="130"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>

<tr bgcolor="#F1E0C6"><td width="130"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>

<tr bgcolor="#D4C0A1"><td width="130"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr>

<tr bgcolor="#F1E0C6"><td width="130"><b>Current Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>

<tr bgcolor="#D4C0A1"><td width="130"><b>New Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>

<tr bgcolor="#F1E0C6"><td width="130"><b>Change Name?</b></td><td width="275" align="left">

<form action="index.php?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($buy_from).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td>

<td align="right"><form action="index.php?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr>

</table>';

}

}

} else {

$main_content .= 'Player with name <b>'.$buy_name.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a>.';

}

} else {

$main_content .= 'Invalid name format. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.';

}

} else {

$main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="index.php?subtopic=shopsystem">select other item</a> or buy premium points.';

}

} else {

$main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem">select item</a> again.';

}

}

}

}

if(!$set_session) {

unset($_SESSION['viewed_confirmation_page']);

}

}

 

elseif($action == 'show_history') {

if(!$logged) {

$main_content .= 'Please login first.';

} else{

$items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');

if(is_object($items_history_received)) {

foreach($items_history_received as $item_received) {

if($account_logged->getId() == $item_received['to_account'])

$char_color = 'green';

else

$char_color = 'red';

$items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>';

if($account_logged->getId() == $item_received['from_account'])

$items_received_text .= '<i>Your account</i>';

else

$items_received_text .= $item_received['from_nick'];

$items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>';

if($item_received['trans_real'] > 0)

$items_received_text .= '<td>'.date("j F Y, H:i:s", $item_received['trans_real']).'</td>';

else

$items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>';

$items_received_text .= '</tr>';

}

}

$paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';');

if(is_object($paccs_history_received)) {

foreach($paccs_history_received as $pacc_received) {

if($account_logged->getId() == $pacc_received['to_account'])

$char_color = 'green';

else

$char_color = 'red';

$paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>';

if($account_logged->getId() == $pacc_received['from_account'])

$paccs_received_text .= '<i>Your account</i>';

else

$paccs_received_text .= $pacc_received['from_nick'];

$paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>';

}

}

$main_content .= '<center><h1>Transactions History</h1></center>';

if(!empty($items_received_text))

$main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />';

if(!empty($paccs_received_text))

$main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Pacc Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />';

if(empty($paccs_received_text) && empty($items_received_text))

$main_content .= 'You did not buy/receive any items or PACC.';

}

}

if(!$logged)

$main_content .= 'Please login to see how much points you have.';

else

$main_content .= '<br><b><font color="green">You have premium points: </font></b>'.$user_premium_points;

}

else

$main_content .= '<br><center><b>Shop System is currently disabled for this server.Please ask the admin for more information.</b></center>';

?>

.

Editado por DennisMalheiros
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...