• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Compiling Gesior Shop how create table

xonoth

New Member
Joined
Mar 12, 2009
Messages
15
Reaction score
0
Hello. I have one question how i can create good table for sms shop by gesior. I have pacc,items and a container. But i realy need table 'addons' how i can create this table? If someone have this script or something please copy this here. I'm realy low english sorry for that i think u all understand me. I give rep if you help me.
 
If you have z_shop_offer in your database, use the SQL button, paste this information, and then click "Go". (You will want to continue this until all of your items are made, Making sure that the `id` is ONE higher every time you submit it! Afterward, you should see a new table.

Code:
INSERT INTO `z_shop_offer` (`id`, `points`, `itemid1`, `count1`, `itemid2`, `count2`, `offer_type`, `offer_description`, `offer_name`) VALUES
(1, 5, 2517, 1, 0, 0, 'item', 'Buy a shield of honour!', 'Shield of Honour');

`id` = Unique ID of the item. These go up in intervals of 1, each item has to be different. (ex. 1, 2, 3, 4, 5)
`points` = How many points it will cost
`itemid1` = The ID of the item
`count1` = How many of the item (ID above) do you wish to receive
`itemid2` = Set to 0, you wont use this unless you are selling backpacks of items
`count2` = Same as above
`offer_type` = The type of offer you're giving away. This one is obviously, one item, so keep it as `item`.
`offer_description` = The description on the website. What you want to advertise about the item.
`offer_name` = Name of the item on the website

Edit the tables as needed, and it should appear in your shop, as seen below:


(obviously that was made for my server specifically) ^_^

Red

\\copied from an older post of mine
 
but i want add new table to datebase 'addon' no 'item' in table items I want have items but in addons i want have addons like this
if i add new addon to addon tables than i see only this new addon. I can put here only 1 addon and when i add new than old disapear
 
I want table like here http://otland.net/f118/gesior-acc-maker-shopsystem-new-offer_types-21611/
I mean like this
Code:
INSERT INTO `z_shop_offer` (`id`, `points`, `itemid1`, `count1`, `itemid2`, `count2`, `offer_type`, `offer_description`, `offer_name`, `level`, `pid`) VALUES
(NULL, 10, 0, 12, 0, 0, 'pacc', 'Buy 12 days of premium account for yourself or your friend!', '12 Days of PACC', 0, 0),
(NULL, 10, 0, 0, 0, 0, 'redskull', 'Remove Red Skull!', 'Remove Red Skull', 0, 0),
(NULL, 10, 2160, 1, 0, 0, 'itemlogout', 'Crystal Coin', 'itemlogout', 0, 10),
(NULL, 2, 0, 0, 0, 0, 'changename', 'Change Name', 'changename', 0, 0);
but i need new table at datebase and i want how i can create this like
Code:
(NULL, 10, 0, 12, 0, 0, 'addon', 'Buy 100x Green Falk!', '100x Green Falk', 0, 0),
 
Code:
<?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'] == 'addon')
	{
		$offer['id'] = $data['id'];
		$offer['type'] = $data['offer_type'];
		$offer['addon_id'] = $data['itemid1'];
		$offer['addon_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'];
	}
	return $offer;
}

function getOfferArray()
{
	$offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').';');
	$i_pacc = 0;
	$i_item = 0;
	$i_container = 0;
	$i_addon = 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'] == 'addon')
		{
			$offer_array['addon'][$i_adddon]['id'] = $data['id'];
			$offer_array['addon'][$i_adddon]['addon_id'] = $data['itemid1'];
			$offer_array['addon'][$i_adddon]['addon_count'] = $data['count1'];
			$offer_array['addon'][$i_adddon]['points'] = $data['points'];
			$offer_array['addon'][$i_adddon]['description'] = $data['offer_description'];
			$offer_array['addon'][$i_adddon]['name'] = $data['offer_name'];
			$i_addon++;
		}
		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++;
		}
	}
	return $offer_array;
}
	
	if($action == '')
	{
		unset($_SESSION['viewed_confirmation_page']);
		$main_content .= '<h2>Welcome to OTS shop. Here you can buy items and PACC.</h2>';
		$offer_list = getOfferArray();
		//show list of pacc offers
		if(count($offer_list['pacc']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;PACC</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['pacc'] as $pacc)
			{
				$main_content .= '<tr bgcolor="#FFF2d8"><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>';
				}
			}
			$main_content .= '</table><br />';
		}
		//show list of items offers
		if(count($offer_list['item']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;ITEMS</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['item'] as $item)
			{
				$main_content .= '<tr bgcolor="FFF2d8"><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 addons offers
		if(count($offer_list['addon']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;ADDONS</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['addon'] as $addon)
			{
				$main_content .= '<tr bgcolor="FFF2d8"><td align="center"><img src="item_images/'.$addon['id'].'.gif"></td><td><b>'.$addon['name'].'</b> ('.$addon['points'].' points)<br />'.$addon['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="'.$addon['id'].'"><input type="submit" value="Buy '.$addon['name'].'"><br><b>for '.$addon['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="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['container'] as $container)
			{
				$main_content .= '<tr bgcolor="FFF2d8"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></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="index.php?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 />';
		}
	}
	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($user_premium_points >= $buy_offer['points'])
					{
						$main_content .= '<h2>Select player</h2>
						<table border="0" cellpadding="1" cellspacing="1" width="650">
						<tr bgcolor="black"><td colspan="2"><font color="gold" size="4"><b>Selected offer</b></font></td></tr>
						<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr>
						<tr bgcolor="gold"><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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to player from your account</b></font></td></tr>
						<tr bgcolor="gold"><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>&nbsp;<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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to other player</b></font></td></tr>
							<tr bgcolor="gold"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player</td></tr>
							<tr bgcolor="gold"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>
							</table><br />
							</form>';

						$main_content .= '*PACC is for all characters from account of selected player name';
					}
					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.';
				}
			}
		}
	}
	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_from))
			{
				$buy_from = 'Anonymous';
			}
			if(empty($buy_id))
			{
				$main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.';
			}
			else
			{
				if(!check_name($buy_from))
				{
					$main_content .= 'Invalid nick ("from player") format. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.';
				}
				else
				{
					$buy_offer = getItemByID($buy_id);
					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_premdays = $buy_player_account->getCustomField('premdays');
											$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);
											$buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']);
											$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
											$user_premium_points = $user_premium_points - $buy_offer['points'];
											if($player_premdays == 0)
											{
												$buy_player_account->setCustomField('lastday', time());
											}
											$main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to 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 /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										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 .= '<h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										elseif($buy_offer['type'] == 'addon')
										{
											$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['addon_id']).', '.$SQL->quote($buy_offer['addon_count']).', \'\', \'\', \'addon\', '.$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 .= '<h2>Addon added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> addons (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										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 .= '<h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
									}
									else
									{
										$set_session = TRUE;
										$_SESSION['viewed_confirmation_page'] = 'yes';
										$main_content .= '<h2>Confirm transaction</h2>
										<table border="0" cellpadding="1" cellspacing="1" width="650">
										<tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
										<tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
										<tr bgcolor="gold"><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="gold"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
										<tr bgcolor="red"><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($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="gold"><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="gold"><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 .= '<h2>Item transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 OTS</b></td></tr>'.$items_received_text.'</table><br />';
			}
			if(!empty($paccs_received_text))
			{
				$main_content .= '<h2>PACC transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 item or PACC.';
		}
	}
	$main_content .= '<br><br><b><font color="green">You have premium points: </font></b>'.$user_premium_points;
}
else
	$main_content .= 'Shop system is blocked on this server. Admin must install this script (LUA and in database only, PHP is installed) on server and set <b>shop_system = "1"</b> in config.ini file';
?>
i create table addon but it dosent work. I will thank you and give rep if you do this for me:)
 
@up

What a great chance! That is exactly what I needed. Could you add a new table - Addon items to my shopsystem.php?

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'] == '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_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'] == '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>Welcome, here you can choose a gift after donating!</h2>';
		$offer_list = getOfferArray();
		//show list of pacc offers
		if(count($offer_list['changename']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Change Name</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['changename'] as $changename)
			{
				$main_content .= '<tr bgcolor="#bf3100"><td align="center">'.$changename['days'].'</td><td><b>'.$changename['name'].'</b> ('.$changename['points'].' points)<br />'.$changename['description'].'</td><td align="center">';
				if(!$logged)
				{
					$main_content .= '<b>Login first</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>';
				}
			}
			$main_content .= '</table><br />';
		}
		if(count($offer_list['pacc']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;PACC</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['pacc'] as $pacc)
			{
				$main_content .= '<tr bgcolor="#bf3100"><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 first</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>';
				}
			}
			$main_content .= '</table><br />';
		}
		//show list of items offers
		if(count($offer_list['item']) > 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>&nbsp;ITEMS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
			foreach($offer_list['item'] as $item)
			{
				$main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">';
				if(!$logged)
				{
					$main_content .= '<b>Login first</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 />';
		}
		
		if(count($offer_list['unban']) > 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>&nbsp;Unban</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
			foreach($offer_list['unban'] as $unban)
			{
				$main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$unban['id'].'.jpg"></td><td><b>'.$unban['name'].'</b> ('.$unban['points'].' points)<br />'.$unban['description'].'</td><td align="center">';
				if(!$logged)
				{
					$main_content .= '<b>Login first</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><br />';
		}
		if(count($offer_list['itemlogout']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Receive Item on Logout</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['itemlogout'] as $itemlogout)
			{
				$main_content .= '<tr bgcolor="#bf3100"><td align="center"><img src="item_images/'.$itemlogout['id'].'.jpg"></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['redskull']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Remove Skull</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['redskull'] as $redskull)
			{
				$main_content .= '<tr bgcolor="#bf3100"><td align="center"><img src="item_images/'.$redskull['id'].'.jpg"></td><td><b>'.$redskull['name'].'</b> ('.$level['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>';
			}
			$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>&nbsp;CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['container'] as $container)
			{
				$main_content .= '<tr bgcolor="gold"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></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="index.php?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 />';
		}
	}
	
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 .= '<h2>Select player</h2>
						<table border="0" cellpadding="1" cellspacing="1" width="650">
						<tr bgcolor="#505050"><td colspan="2"><font color="gold" size="4"><b>Selected offer</b></font></td></tr>
						<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr>
						<tr bgcolor="gold"><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="gold" size="4"><b>Give item/pacc* to player from your account</b></font></td></tr>
						<tr bgcolor="gold"><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>&nbsp;<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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to other player</b></font></td></tr>
							<tr bgcolor="gold"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player on</td></tr>
							<tr bgcolor="gold"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>
							</table><br />
							</form>';

						$main_content .= '*PACC is for all characters from account of selected player name';
					}
					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 .= '<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="black"><td colspan="2"><font color="gold" size="4"><b>Change Name:</b></font></td></tr>
							<tr bgcolor="gold"><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="gold"><td width="110"><b>New name:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<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_premdays = $buy_player_account->getCustomField('premdays');
											$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);
											$buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']);
											$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
											$user_premium_points = $user_premium_points - $buy_offer['points'];
											if($player_premdays == 0)
											{
												$buy_player_account->setCustomField('lastday', time());
											}
											$main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to 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 /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
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 .= '
			<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>
			<a href="index.php?subtopic=shopsystem">
				GO TO MAIN SHOP SITE
			</a>';
	} else 
	{
		$main_content .= '
		<b>
			You don\'t have any bans in your account! 
		</b>
		<br>
		<a href="index.php?subtopic=shopsystem">
			GO BACK
		</a>';	
	}
	}
	////////////////////////////////
	elseif($buy_offer['type'] == 'itemlogout')
	{				
	$my_acc_id = $buy_player->getCustomField('id');
	$datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE id = '.$my_acc_id.';')->fetch();
	$datadata2 = $SQL->query('SELECT * FROM '.$SQL->tableName('player_items').' WHERE player_id = '.$my_acc_id.';')->fetch();
	if($datadata['online'] == '0') {
	if ($datadata2['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 MAIN 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');
	$dataget = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();
	if($dataget['online'] == '0') {
	$buybuy = 'buy_from';
			$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'];
		$suma_levels = $buy_offer['level'] + $dataget['level'];
		$main_content .= '
			<h2>
				Your name has changed to '.$buy_from.'
			</h2>
			<b>
				You have
			</b>
			<br>
				<b>
					'.$user_premium_points.' premium points left 
				</b>.
			<br>
			<a href="index.php?subtopic=shopsystem">
				GO TO MAIN SHOP SITE
			</a>';
	} else 
	{
	$suma_levels = $buy_offer['level'] + $dataget['level'];
		$main_content .= '
		<b>
		 '.$buy_name.' has to be offline to complete transaction.
		</b>
		<br>
		<a href="index.php?subtopic=shopsystem">
			GO BACK
		</a>';	
	}
	}
	//////////////////////////
		////////////////////////////////
	elseif($buy_offer['type'] == 'redskull')
	{
	//Obtener id ed la cuenta					
	$my_acc_id = $buy_player->getCustomField('id');
	$dataget = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();
	if($dataget['redskull'] == '1' AND $dataget['online'] >= '0' AND $dataget['redskulltime'] > '0') {
	
				$SQL->query('UPDATE players SET redskull=0, redskulltime=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 .= '
			<h2>
				RedSkull Removed!
			</h2>
			<b>
				Your redskull has been removed to the player '.$buy_player->getName().',
			<br>
			Now you have 
				<b>
					'.$user_premium_points.' premium points
				</b>.
			<br>
			<a href="index.php?subtopic=shopsystem">
				GO TO MAIN SHOP SITE
			</a>';
	} else 
	{
		$main_content .= '
		<b>
		'.$buy_player->getName().' has to be offline or have redskull to complete transaction!.
		</b>
		<br>
		<a href="index.php?subtopic=shopsystem">
			GO BACK
		</a>';	
	}
	}
	//////////////////////////
	
	
	
							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 .= '<h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										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 .= '<h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
									}
									else
									{
									if($buy_offer['type'] != 'changename') {
										$set_session = TRUE;
										$_SESSION['viewed_confirmation_page'] = 'yes';
										$main_content .= '<h2>Confirm transaction</h2>
										<table border="0" cellpadding="1" cellspacing="1" width="650">
										<tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
										<tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
										<tr bgcolor="gold"><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="gold"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
										<tr bgcolor="red"><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 .= '<h2>Confirm change name</h2>
										<table border="0" cellpadding="1" cellspacing="1" width="650">
										<tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
										<tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
										<tr bgcolor="gold"><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="gold"><td width="100"><b>Current Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>New Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
										<tr bgcolor="red"><td width="100"><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="gold"><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="gold"><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 .= '<h2>Item transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 OTS</b></td></tr>'.$items_received_text.'</table><br />';
			}
			if(!empty($paccs_received_text))
			{
				$main_content .= '<h2>PACC transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 item or PACC.';
		}
	}
	$main_content .= '<br><br><b><font color="green">You have premium points: </font></b>'.$user_premium_points;
}
else
	$main_content .= 'Shop system is blocked on this server. Admin must install this script (LUA and in database only, PHP is installed) on server and set <b>shop_system = "1"</b> in config.ini file';
?>
 
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'] == 'addon')
	{
		$offer['id'] = $data['id'];
		$offer['type'] = $data['offer_type'];
		$offer['addon_id'] = $data['itemid1'];
		$offer['addon_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'];
	}
	return $offer;
}

function getOfferArray()
{
	$offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').';');
	$i_pacc = 0;
	$i_item = 0;
	$i_container = 0;
	$i_addon = 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'] == 'addon')
		{
			$offer_array['addon'][$i_adddon]['id'] = $data['id'];
			$offer_array['addon'][$i_adddon]['addon_id'] = $data['itemid1'];
			$offer_array['addon'][$i_adddon]['addon_count'] = $data['count1'];
			$offer_array['addon'][$i_adddon]['points'] = $data['points'];
			$offer_array['addon'][$i_adddon]['description'] = $data['offer_description'];
			$offer_array['addon'][$i_adddon]['name'] = $data['offer_name'];
			$i_addon++;
		}
		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++;
		}
	}
	return $offer_array;
}
	
	if($action == '')
	{
		unset($_SESSION['viewed_confirmation_page']);
		$main_content .= '<h2>Welcome to OTS shop. Here you can buy items and PACC.</h2>';
		$offer_list = getOfferArray();
		//show list of pacc offers
		if(count($offer_list['pacc']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;PACC</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['pacc'] as $pacc)
			{
				$main_content .= '<tr bgcolor="#FFF2d8"><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>';
				}
			}
			$main_content .= '</table><br />';
		}
		//show list of items offers
		if(count($offer_list['item']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;ITEMS</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['item'] as $item)
			{
				$main_content .= '<tr bgcolor="FFF2d8"><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 addons offers
		if(count($offer_list['addon']) > 0)
		{
			$main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;ADDONS</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['addon'] as $addon)
			{
				$main_content .= '<tr bgcolor="FFF2d8"><td align="center"><img src="item_images/'.$addon['id'].'.gif"></td><td><b>'.$addon['name'].'</b> ('.$addon['points'].' points)<br />'.$addon['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="'.$addon['id'].'"><input type="submit" value="Buy '.$addon['name'].'"><br><b>for '.$addon['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="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
			foreach($offer_list['container'] as $container)
			{
				$main_content .= '<tr bgcolor="FFF2d8"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></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="index.php?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 />';
		}
	}
	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($user_premium_points >= $buy_offer['points'])
					{
						$main_content .= '<h2>Select player</h2>
						<table border="0" cellpadding="1" cellspacing="1" width="650">
						<tr bgcolor="black"><td colspan="2"><font color="gold" size="4"><b>Selected offer</b></font></td></tr>
						<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr>
						<tr bgcolor="gold"><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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to player from your account</b></font></td></tr>
						<tr bgcolor="gold"><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>&nbsp;<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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to other player</b></font></td></tr>
							<tr bgcolor="gold"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player</td></tr>
							<tr bgcolor="gold"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>
							</table><br />
							</form>';

						$main_content .= '*PACC is for all characters from account of selected player name';
					}
					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.';
				}
			}
		}
	}
	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_from))
			{
				$buy_from = 'Anonymous';
			}
			if(empty($buy_id))
			{
				$main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.';
			}
			else
			{
				if(!check_name($buy_from))
				{
					$main_content .= 'Invalid nick ("from player") format. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.';
				}
				else
				{
					$buy_offer = getItemByID($buy_id);
					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_premdays = $buy_player_account->getCustomField('premdays');
											$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);
											$buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']);
											$account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
											$user_premium_points = $user_premium_points - $buy_offer['points'];
											if($player_premdays == 0)
											{
												$buy_player_account->setCustomField('lastday', time());
											}
											$main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to 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 /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										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 .= '<h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										elseif($buy_offer['type'] == 'addon')
										{
											$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['addon_id']).', '.$SQL->quote($buy_offer['addon_count']).', \'\', \'\', \'addon\', '.$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 .= '<h2>Addon added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> addons (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
										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 .= '<h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
										}
									}
									else
									{
										$set_session = TRUE;
										$_SESSION['viewed_confirmation_page'] = 'yes';
										$main_content .= '<h2>Confirm transaction</h2>
										<table border="0" cellpadding="1" cellspacing="1" width="650">
										<tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
										<tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
										<tr bgcolor="gold"><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="gold"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
										<tr bgcolor="gold"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
										<tr bgcolor="red"><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($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="gold"><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="gold"><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 .= '<h2>Item transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 OTS</b></td></tr>'.$items_received_text.'</table><br />';
			}
			if(!empty($paccs_received_text))
			{
				$main_content .= '<h2>PACC transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 item or PACC.';
		}
	}
	$main_content .= '<br><br><b><font color="green">You have premium points: </font></b>'.$user_premium_points;
}
else
	$main_content .= 'Shop system is blocked on this server. Admin must install this script (LUA and in database only, PHP is installed) on server and set <b>shop_system = "1"</b> in config.ini file';
?>
sorry for normal code im newbie forum :))
 
@xonoth

Yours already has addon table, just in offer_type use "addon" and thats it:

@Richux

Try this:

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'] == 'addon')
    {
        $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_container = 0;
    $i_unban = 0;
    $i_addon = 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_addon]['id'] = $data['id'];
            $offer_array['item'][$i_addon]['item_id'] = $data['itemid1'];
            $offer_array['item'][$i_addon]['item_count'] = $data['count1'];
            $offer_array['item'][$i_addon]['points'] = $data['points'];
            $offer_array['item'][$i_addon]['description'] = $data['offer_description'];
            $offer_array['item'][$i_addon]['name'] = $data['offer_name'];
            $i_addon++;
        }
		        elseif ($data['offer_type'] == 'addon')
        {
            $offer_array['addon'][$i_item]['id'] = $data['id'];
            $offer_array['addon'][$i_item]['item_id'] = $data['itemid1'];
            $offer_array['addon'][$i_item]['item_count'] = $data['count1'];
            $offer_array['addon'][$i_item]['points'] = $data['points'];
            $offer_array['addon'][$i_item]['description'] = $data['offer_description'];
            $offer_array['addon'][$i_item]['name'] = $data['offer_name'];
            $i_item++;
        }
        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>Welcome, here you can choose a gift after donating!</h2>';
        $offer_list = getOfferArray();
        //show list of pacc offers
        if(count($offer_list['changename']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Change Name</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['changename'] as $changename)
            {
                $main_content .= '<tr bgcolor="#bf3100"><td align="center">'.$changename['days'].'</td><td><b>'.$changename['name'].'</b> ('.$changename['points'].' points)<br />'.$changename['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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>';
                }
            }
            $main_content .= '</table><br />';
        }
        if(count($offer_list['pacc']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;PACC</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['pacc'] as $pacc)
            {
                $main_content .= '<tr bgcolor="#bf3100"><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 first</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>';
                }
            }
            $main_content .= '</table><br />';
        }
        //show list of items offers
        if(count($offer_list['item']) > 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>&nbsp;ITEMS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
            foreach($offer_list['item'] as $item)
            {
                $main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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 />';
        }
		
		if(count($offer_list['addon']) > 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>&nbsp;ADDONS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
            foreach($offer_list['addon'] as $item)
            {
                $main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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 />';
        }
        
        if(count($offer_list['unban']) > 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>&nbsp;Unban</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
            foreach($offer_list['unban'] as $unban)
            {
                $main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$unban['id'].'.jpg"></td><td><b>'.$unban['name'].'</b> ('.$unban['points'].' points)<br />'.$unban['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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><br />';
        }
        if(count($offer_list['itemlogout']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Receive Item on Logout</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['itemlogout'] as $itemlogout)
            {
                $main_content .= '<tr bgcolor="#bf3100"><td align="center"><img src="item_images/'.$itemlogout['id'].'.jpg"></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['redskull']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Remove Skull</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['redskull'] as $redskull)
            {
                $main_content .= '<tr bgcolor="#bf3100"><td align="center"><img src="item_images/'.$redskull['id'].'.jpg"></td><td><b>'.$redskull['name'].'</b> ('.$level['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>';
            }
            $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>&nbsp;CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['container'] as $container)
            {
                $main_content .= '<tr bgcolor="gold"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></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="index.php?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 />';
        }
    }
    
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 .= '<h2>Select player</h2>
                        <table border="0" cellpadding="1" cellspacing="1" width="650">
                        <tr bgcolor="#505050"><td colspan="2"><font color="gold" size="4"><b>Selected offer</b></font></td></tr>
                        <tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr>
                        <tr bgcolor="gold"><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="gold" size="4"><b>Give item/pacc* to player from your account</b></font></td></tr>
                        <tr bgcolor="gold"><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>&nbsp;<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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to other player</b></font></td></tr>
                            <tr bgcolor="gold"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player on</td></tr>
                            <tr bgcolor="gold"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>
                            </table><br />
                            </form>';

                        $main_content .= '*PACC is for all characters from account of selected player name';
                    }
                    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 .= '<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="black"><td colspan="2"><font color="gold" size="4"><b>Change Name:</b></font></td></tr>
                            <tr bgcolor="gold"><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="gold"><td width="110"><b>New name:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<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_premdays = $buy_player_account->getCustomField('premdays');
                                            $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);
                                            $buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']);
                                            $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
                                            $user_premium_points = $user_premium_points - $buy_offer['points'];
                                            if($player_premdays == 0)
                                            {
                                                $buy_player_account->setCustomField('lastday', time());
                                            }
                                            $main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to 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 /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
                                        }
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 .= '
            <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>
            <a href="index.php?subtopic=shopsystem">
                GO TO MAIN SHOP SITE
            </a>';
    } else 
    {
        $main_content .= '
        <b>
            You don\'t have any bans in your account! 
        </b>
        <br>
        <a href="index.php?subtopic=shopsystem">
            GO BACK
        </a>';    
    }
    }
    ////////////////////////////////
    elseif($buy_offer['type'] == 'itemlogout')
    {                
    $my_acc_id = $buy_player->getCustomField('id');
    $datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE id = '.$my_acc_id.';')->fetch();
    $datadata2 = $SQL->query('SELECT * FROM '.$SQL->tableName('player_items').' WHERE player_id = '.$my_acc_id.';')->fetch();
    if($datadata['online'] == '0') {
    if ($datadata2['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 MAIN 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');
    $dataget = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();
    if($dataget['online'] == '0') {
    $buybuy = 'buy_from';
            $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'];
        $suma_levels = $buy_offer['level'] + $dataget['level'];
        $main_content .= '
            <h2>
                Your name has changed to '.$buy_from.'
            </h2>
            <b>
                You have
            </b>
            <br>
                <b>
                    '.$user_premium_points.' premium points left 
                </b>.
            <br>
            <a href="index.php?subtopic=shopsystem">
                GO TO MAIN SHOP SITE
            </a>';
    } else 
    {
    $suma_levels = $buy_offer['level'] + $dataget['level'];
        $main_content .= '
        <b>
         '.$buy_name.' has to be offline to complete transaction.
        </b>
        <br>
        <a href="index.php?subtopic=shopsystem">
            GO BACK
        </a>';    
    }
    }
    //////////////////////////
        ////////////////////////////////
    elseif($buy_offer['type'] == 'redskull')
    {
    //Obtener id ed la cuenta                    
    $my_acc_id = $buy_player->getCustomField('id');
    $dataget = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();
    if($dataget['redskull'] == '1' AND $dataget['online'] >= '0' AND $dataget['redskulltime'] > '0') {
    
                $SQL->query('UPDATE players SET redskull=0, redskulltime=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 .= '
            <h2>
                RedSkull Removed!
            </h2>
            <b>
                Your redskull has been removed to the player '.$buy_player->getName().',
            <br>
            Now you have 
                <b>
                    '.$user_premium_points.' premium points
                </b>.
            <br>
            <a href="index.php?subtopic=shopsystem">
                GO TO MAIN SHOP SITE
            </a>';
    } else 
    {
        $main_content .= '
        <b>
        '.$buy_player->getName().' has to be offline or have redskull to complete transaction!.
        </b>
        <br>
        <a href="index.php?subtopic=shopsystem">
            GO BACK
        </a>';    
    }
    }
    //////////////////////////
    
    
    
                            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 .= '<h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
                                        }
                                        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 .= '<h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
                                        }
                                    }
                                    else
                                    {
                                    if($buy_offer['type'] != 'changename') {
                                        $set_session = TRUE;
                                        $_SESSION['viewed_confirmation_page'] = 'yes';
                                        $main_content .= '<h2>Confirm transaction</h2>
                                        <table border="0" cellpadding="1" cellspacing="1" width="650">
                                        <tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
                                        <tr bgcolor="gold"><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="gold"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
                                        <tr bgcolor="red"><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 .= '<h2>Confirm change name</h2>
                                        <table border="0" cellpadding="1" cellspacing="1" width="650">
                                        <tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
                                        <tr bgcolor="gold"><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="gold"><td width="100"><b>Current Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>New Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
                                        <tr bgcolor="red"><td width="100"><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="gold"><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="gold"><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 .= '<h2>Item transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 OTS</b></td></tr>'.$items_received_text.'</table><br />';
            }
            if(!empty($paccs_received_text))
            {
                $main_content .= '<h2>PACC transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 item or PACC.';
        }
    }
    $main_content .= '<br><br><b><font color="green">You have premium points: </font></b>'.$user_premium_points;
}
else
    $main_content .= 'Shop system is blocked on this server. Admin must install this script (LUA and in database only, PHP is installed) on server and set <b>shop_system = "1"</b> in config.ini file';
?>

Note for Richux: If you have any errors post it here.
 
yes i know but in addon table i can only put 1 addon item. when i add new addon item than i see only this new item and old disapear. i think i wrong write this code for 'addon' Then why i say i need help with this
 
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'] == 'addon')
    {
        $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_container = 0;
    $i_unban = 0;
    $i_addon = 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_addon]['id'] = $data['id'];
            $offer_array['item'][$i_addon]['item_id'] = $data['itemid1'];
            $offer_array['item'][$i_addon]['item_count'] = $data['count1'];
            $offer_array['item'][$i_addon]['points'] = $data['points'];
            $offer_array['item'][$i_addon]['description'] = $data['offer_description'];
            $offer_array['item'][$i_addon]['name'] = $data['offer_name'];
            $i_addon++;
        }
                elseif ($data['offer_type'] == 'addon')
        {
            $offer_array['addon'][$i_item]['id'] = $data['id'];
            $offer_array['addon'][$i_item]['item_id'] = $data['itemid1'];
            $offer_array['addon'][$i_item]['item_count'] = $data['count1'];
            $offer_array['addon'][$i_item]['points'] = $data['points'];
            $offer_array['addon'][$i_item]['description'] = $data['offer_description'];
            $offer_array['addon'][$i_item]['name'] = $data['offer_name'];
            $i_item++;
        }
        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>Welcome, here you can choose a gift after donating!</h2>';
        $offer_list = getOfferArray();
        //show list of pacc offers
        if(count($offer_list['changename']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Change Name</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['changename'] as $changename)
            {
                $main_content .= '<tr bgcolor="#bf3100"><td align="center">'.$changename['days'].'</td><td><b>'.$changename['name'].'</b> ('.$changename['points'].' points)<br />'.$changename['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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>';
                }
            }
            $main_content .= '</table><br />';
        }
        if(count($offer_list['pacc']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;PACC</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Days</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['pacc'] as $pacc)
            {
                $main_content .= '<tr bgcolor="#bf3100"><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 first</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>';
                }
            }
            $main_content .= '</table><br />';
        }
        //show list of items offers
        if(count($offer_list['item']) > 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>&nbsp;ITEMS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
            foreach($offer_list['item'] as $item)
            {
                $main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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 />';
        }
        
        if(count($offer_list['addon']) > 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>&nbsp;ADDONS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
            foreach($offer_list['addon'] as $item)
            {
                $main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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 />';
        }
        
        if(count($offer_list['unban']) > 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>&nbsp;Unban</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=white><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=white><b>Select product</b></font></td></tr>';
            foreach($offer_list['unban'] as $unban)
            {
                $main_content .= '<tr bgcolor="tan"><td align="center"><img src="item_images/'.$unban['id'].'.jpg"></td><td><b>'.$unban['name'].'</b> ('.$unban['points'].' points)<br />'.$unban['description'].'</td><td align="center">';
                if(!$logged)
                {
                    $main_content .= '<b>Login first</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><br />';
        }
        if(count($offer_list['itemlogout']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Receive Item on Logout</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['itemlogout'] as $itemlogout)
            {
                $main_content .= '<tr bgcolor="#bf3100"><td align="center"><img src="item_images/'.$itemlogout['id'].'.jpg"></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['redskull']) > 0)
        {
            $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>&nbsp;Remove Skull</b></font></td></tr><tr bgcolor="black"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=red><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['redskull'] as $redskull)
            {
                $main_content .= '<tr bgcolor="#bf3100"><td align="center"><img src="item_images/'.$redskull['id'].'.jpg"></td><td><b>'.$redskull['name'].'</b> ('.$level['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>';
            }
            $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>&nbsp;CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#505050"><td width="50" align="center"><font color=red><b>Picture</b></font></td><td width="350" align="left"><font color=white><b>Description</b></font></td><td width="250" align="center"><font color=red><b>Select product</b></font></td></tr>';
            foreach($offer_list['container'] as $container)
            {
                $main_content .= '<tr bgcolor="gold"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></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="index.php?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 />';
        }
    }
    
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 .= '<h2>Select player</h2>
                        <table border="0" cellpadding="1" cellspacing="1" width="650">
                        <tr bgcolor="#505050"><td colspan="2"><font color="gold" size="4"><b>Selected offer</b></font></td></tr>
                        <tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr>
                        <tr bgcolor="gold"><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="gold" size="4"><b>Give item/pacc* to player from your account</b></font></td></tr>
                        <tr bgcolor="gold"><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>&nbsp;<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="black"><td colspan="2"><font color="gold" size="4"><b>Give item/pacc* to other player</b></font></td></tr>
                            <tr bgcolor="gold"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of player on</td></tr>
                            <tr bgcolor="gold"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr>
                            </table><br />
                            </form>';

                        $main_content .= '*PACC is for all characters from account of selected player name';
                    }
                    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 .= '<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="black"><td colspan="2"><font color="gold" size="4"><b>Change Name:</b></font></td></tr>
                            <tr bgcolor="gold"><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="gold"><td width="110"><b>New name:</b></td><td width="550"><input type="text" name="buy_from">&nbsp;<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_premdays = $buy_player_account->getCustomField('premdays');
                                            $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);
                                            $buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']);
                                            $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);
                                            $user_premium_points = $user_premium_points - $buy_offer['points'];
                                            if($player_premdays == 0)
                                            {
                                                $buy_player_account->setCustomField('lastday', time());
                                            }
                                            $main_content .= '<h2>PACC added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to 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 /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
                                        }
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 .= '
            <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>
            <a href="index.php?subtopic=shopsystem">
                GO TO MAIN SHOP SITE
            </a>';
    } else 
    {
        $main_content .= '
        <b>
            You don\'t have any bans in your account! 
        </b>
        <br>
        <a href="index.php?subtopic=shopsystem">
            GO BACK
        </a>';    
    }
    }
    ////////////////////////////////
    elseif($buy_offer['type'] == 'itemlogout')
    {                
    $my_acc_id = $buy_player->getCustomField('id');
    $datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE id = '.$my_acc_id.';')->fetch();
    $datadata2 = $SQL->query('SELECT * FROM '.$SQL->tableName('player_items').' WHERE player_id = '.$my_acc_id.';')->fetch();
    if($datadata['online'] == '0') {
    if ($datadata2['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 MAIN 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');
    $dataget = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();
    if($dataget['online'] == '0') {
    $buybuy = 'buy_from';
            $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'];
        $suma_levels = $buy_offer['level'] + $dataget['level'];
        $main_content .= '
            <h2>
                Your name has changed to '.$buy_from.'
            </h2>
            <b>
                You have
            </b>
            <br>
                <b>
                    '.$user_premium_points.' premium points left 
                </b>.
            <br>
            <a href="index.php?subtopic=shopsystem">
                GO TO MAIN SHOP SITE
            </a>';
    } else 
    {
    $suma_levels = $buy_offer['level'] + $dataget['level'];
        $main_content .= '
        <b>
         '.$buy_name.' has to be offline to complete transaction.
        </b>
        <br>
        <a href="index.php?subtopic=shopsystem">
            GO BACK
        </a>';    
    }
    }
    //////////////////////////
        ////////////////////////////////
    elseif($buy_offer['type'] == 'redskull')
    {
    //Obtener id ed la cuenta                    
    $my_acc_id = $buy_player->getCustomField('id');
    $dataget = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch();
    if($dataget['redskull'] == '1' AND $dataget['online'] >= '0' AND $dataget['redskulltime'] > '0') {
    
                $SQL->query('UPDATE players SET redskull=0, redskulltime=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 .= '
            <h2>
                RedSkull Removed!
            </h2>
            <b>
                Your redskull has been removed to the player '.$buy_player->getName().',
            <br>
            Now you have 
                <b>
                    '.$user_premium_points.' premium points
                </b>.
            <br>
            <a href="index.php?subtopic=shopsystem">
                GO TO MAIN SHOP SITE
            </a>';
    } else 
    {
        $main_content .= '
        <b>
        '.$buy_player->getName().' has to be offline or have redskull to complete transaction!.
        </b>
        <br>
        <a href="index.php?subtopic=shopsystem">
            GO BACK
        </a>';    
    }
    }
    //////////////////////////
    
    
    
                            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 .= '<h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
                                        }
                                        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 .= '<h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> items (he will get this container with items after relog) for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br /><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a>';
                                        }
                                    }
                                    else
                                    {
                                    if($buy_offer['type'] != 'changename') {
                                        $set_session = TRUE;
                                        $_SESSION['viewed_confirmation_page'] = 'yes';
                                        $main_content .= '<h2>Confirm transaction</h2>
                                        <table border="0" cellpadding="1" cellspacing="1" width="650">
                                        <tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
                                        <tr bgcolor="gold"><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="gold"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
                                        <tr bgcolor="red"><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 .= '<h2>Confirm change name</h2>
                                        <table border="0" cellpadding="1" cellspacing="1" width="650">
                                        <tr bgcolor="black"><td colspan="3"><font color="gold" size="4"><b>Confirm transaction</b></font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr>
                                        <tr bgcolor="gold"><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="gold"><td width="100"><b>Current Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr>
                                        <tr bgcolor="gold"><td width="100"><b>New Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr>
                                        <tr bgcolor="red"><td width="100"><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="gold"><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="gold"><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 .= '<h2>Item transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 OTS</b></td></tr>'.$items_received_text.'</table><br />';
            }
            if(!empty($paccs_received_text))
            {
                $main_content .= '<h2>PACC transactions</h2><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=100%><tr bgcolor="gold"><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 item or PACC.';
        }
    }
    $main_content .= '<br><br><b><font color="green">You have premium points: </font></b>'.$user_premium_points;
}
else
    $main_content .= 'Shop system is blocked on this server. Admin must install this script (LUA and in database only, PHP is installed) on server and set <b>shop_system = "1"</b> in config.ini file';
?>

its still not work i give you now how doesnt work here is first screen what doesnt work at table ADDONS

AND HERE IN MY OTHER TABLE HOW IT MUST BE
 
Back
Top