<?php
include 'common.php';


function DevAddGold_Resell_Item($dbhandle, $account_id, $char_uid, $sell_value)
{
	$response = "UPDATE_GOLD_FAILED";
	if($sell_value >0)
	{
		
		
		
		$stmt = $dbhandle->prepare("update character_list set gold=gold+? where user_id=? and character_uid=?");
		$stmt->bind_param("isi", $sell_value, $account_id,$char_uid);
		$result = $stmt->execute();
		$stmt->close();
			
		
		
		$error = "";
		if($result)
		{
			return true;
		}
		else
		{
			return false;
			//$error = mysqli_error($dbhandle);
		}
	}
	else
	{
		return false;
	}
}

function Sell_Item($dbhandle, $account_id, $char_uid, $sell_value)
{
	if($sell_value > 0)
		DevAddGold_Resell_Item($dbhandle, $account_id, $char_uid, $sell_value);
}

function ItemDelete_Log($dbhandle, $inven_uid, $item_uid, $char_uid)
{
	
	 $strQuery = "select item_uid, count, parts_type, enchant, optType1, optValue1, optType2, optValue2, optType3, optValue3, optType4, optValue4, created_time from owned_item where  owned_item_uid=".$inven_uid." and character_uid=".$char_uid;
	if($query_result = mysqli_query($dbhandle, $strQuery))
	{
		$data = mysqli_fetch_row($query_result);
		$index = mysqli_num_rows($query_result);
		
		if($index == 0)
			return false;
					
		$item_uid = $data[0];
		$count = $data[1];
		
		
		$parts_type = $data[2];
		$enchant = $data[3];
		$optType1 =$data[4];
		$optValue1= $data[5];
		$optType2= $data[6];
		$optValue2=$data[7];
		$optType3=$data[8];
		$optValue3=$data[9];
		$optType4=$data[10];
		$optValue4=$data[11];
		$created_time=$data[12];
		
		
		mysqli_free_result($query_result); 
		
		$now = new DateTime();
		$now->setTimezone(new DateTimeZone('UTC'));
		$deleted_time =  date_format($now, "Y-m-d H:i:s");

		//$stmt = $dbhandle->prepare("insert into item_delete_log (owned_item_uid, character_uid, item_uid, count, parts_type, enchant, optType1, optValue1,optType2, optValue2,optType3, optValue3, optType4, optValue4,created_time, deleted_time) 
		//values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
		$stmt = $dbhandle->prepare("insert into item_delete_log (owned_item_uid, character_uid, item_uid, count, parts_type, enchant,  optType1, optValue1,optType2, optValue2,optType3, optValue3,optType4,optValue4, created_time, deleted_time) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
		//$stmt->bind_param("iiiiiisdsdsdsdss", $inven_uid, $char_uid, $item_uid, $count, $parts_type, $enchant, $optType1, $optValue1, $optType2, $optValue2, $optType3, $optValue3, $optType4, $optValue4, $created_time, $deleted_time);
		$stmt->bind_param("iiiiiisdsdsdsdss", $inven_uid, $char_uid, $item_uid, $count, $parts_type, $enchant, $optType1, $optValue1, $optType2, $optValue2, $optType3, $optValue3, $optType4,$optValue4,$created_time, $deleted_time);
		$result = $stmt->execute();
		$stmt->close();
			
		
		return true;
			
		
	}
	else{
		$error = mysqli_error($dbhandle);
	}
	
	
	return false;
}

function DeleteInvenItem_v2($account_id, $char_uid, $inven_uid, $login_key, $item_uid, $sell_value)
{
	$dbhandle = DB_Connect();
	//Select DB
	$db_selected = mysqli_select_db($dbhandle, DB_NAME)
	or die("Could not select db");
	
	
	if(!CheckLoginKey($dbhandle, $account_id, $login_key))
	{
		PrintLoginKeyError();
		mysqli_close($dbhandle);
		return;
	}
	
	$arr_inven_uid = explode(",", $inven_uid);
	$arr_item_uid = explode(",", $item_uid);
	
	$response = "EXIST_ITEM";
	$current_gold = 0;
	$error = "";
	for($index = 0; $index < count($arr_inven_uid); $index++)
	{
		if(!ItemDelete_Log($dbhandle, $arr_inven_uid[$index], $arr_item_uid[$index], $char_uid))
		{
			$response = "NOT_EXIST_ITEM";
			break;
		}
	}
	
	if($response == "EXIST_ITEM")
	{
		$delete_query = "delete from owned_item where owned_item_uid in (".$inven_uid.") and character_uid='".$char_uid."'";
		
		//Query Result
		$result = @mysqli_query($dbhandle,$delete_query);
		$response = "DELETE_INVEN_ITEM_FAILED";
		$error = "";
		if($result)
		{
			$response = "DELETE_INVEN_ITEM_OK";
			// don't use for upate/insert query, because these query result is true/false, not mysqli_result object
			//mysqli_free_result($result); 
			
			Sell_Item($dbhandle, $account_id, $char_uid, $sell_value);
		}
		else
		{
			$error = mysqli_error($dbhandle);
		}
		
		$current_gold = GetGold($dbhandle, $account_id, $char_uid);
	}

	 mysqli_close($dbhandle);
 
    $isXmlHttpRequest = (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) ?
    (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false: false;
    ($isXmlHttpRequest) ? header('Content-type: application/json') : header('Content-type: text/plain');
 
    echo json_encode(array('result'=>$response,'current_gold'=>$current_gold,'error'=>$error));
}



if(CheckValidatedServerIP())
{	
	DeleteInvenItem_v2($_GET['account_id'], $_GET['char_uid'], $_GET['inven_uid'], $_GET['login_key'], $_GET['item_uid'], $_GET['sell_value'] );
}
else
{
	$response = "INVALIDATED_SERVER";
	$error = "CheckValidatedServerIP ERROR";
	$isXmlHttpRequest = (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) ?
	(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false: false;
	($isXmlHttpRequest) ? header('Content-type: application/json') : header('Content-type: text/plain'); 
 
	echo json_encode(array(	'result'=>$response,'error'=>$error	));
}

?>