<?php
include 'common.php';


function RewardItems($dbhandle,$char_uid,$reward_items, $reward_item_types, $reward_item_counts)
{
	$split = ",";

	$arrItems = explode($split,$reward_items);
	$arrItemTypes = explode($split,$reward_item_types);
	$arrItemCounts = explode($split,$reward_item_counts);
	for($i=0;$i< sizeof($arrItems);$i++){
		
		if(AlreadyExistsItem($dbhandle, $char_uid,$arrItems[$i] ))
		{
			$query = "UPDATE owned_item set count=count+".$arrItemCounts[$i]." where character_uid=".$char_uid." and item_uid=".$arrItems[$i];
		}
		else
		{
			$query = "INSERT INTO owned_item (character_uid, item_uid, count, is_equiped, parts_type) VALUES (".$char_uid.",".$arrItems[$i].",".$arrItemCounts[$i].",0,".$arrItemTypes[$i]." )";
			//echo $query;
		}
	


		//Query Result
		$result = @mysqli_query($dbhandle,$query);		
		
		
		
		
		if($result != 1)
		{		
			return false;
		}
	}
	
	return true;
	
}

function RewardItems_string($dbhandle,$char_uid,$reward_items, $reward_item_types, $reward_item_counts)
{
	$split = ",";

	$arrItems = explode($split,$reward_items);
	$arrItemTypes = explode($split,$reward_item_types);
	$arrItemCounts = explode($split,$reward_item_counts);
	
	$query = "";
	for($i=0;$i< sizeof($arrItems);$i++){
		
		if(AlreadyExistsItem($dbhandle, $char_uid,$arrItems[$i] ))
		{
			$query .= " UPDATE owned_item set count=count+".$arrItemCounts[$i]." where character_uid=".$char_uid." and item_uid=".$arrItems[$i];
		}
		else
		{
			$query .= "INSERT INTO owned_item (character_uid, item_uid, count, is_equiped, parts_type) VALUES (".$char_uid.",".$arrItems[$i].",".$arrItemCounts[$i].",0,".$arrItemTypes[$i]." )";
			//echo $query;
		}
	


		
	}
	
	return $query;
	
}

// function GetGold($dbhandle,$account_id,$char_uid)
// {
	// $strQuery = "select gold from character_list where user_id='".$account_id."' and character_uid='".$char_uid."'";
	// if($query_result = mysqli_query($dbhandle, $strQuery)){
		// $data = mysqli_fetch_row($query_result);
		// if( $data[0] > 0 )
		// {
			// mysqli_free_result($query_result); 
			// return $data[0];
		// }
	// }
	// mysqli_free_result($query_result); 
	// return 0;
// }

function QuestReward($account_id, $char_uid, $level, $exp, $gold, $reward_items, $reward_item_types, $reward_item_counts, $add_stat)
{
	$dbhandle = DB_Connect();
	//Select DB
	$db_selected = mysqli_select_db($dbhandle, DB_NAME)
	or die("Could not select db");
	
	if($add_stat <0)
		$add_stat = 0;
	
	$response = "QUEST_REWARD_FAILED";
	$bReward = false;
	$error = "";
	$current_gold = 0;
	if(RewardItems($dbhandle, $char_uid, $reward_items, $reward_item_types, $reward_item_counts))
	 {
		 $response = "QUEST_REWARD_OK";
	
		 $current_gold = GetGold($dbhandle,$account_id, $char_uid);	
		 
		 $bReward = true;
	 }
	 else
	 {
		 $error = "Create RewardItems Failed";
	 }
		 
	if($bReward)
	{
		$update_query = "update character_list set level=".$level.", character_exp=".$exp.", gold=gold+".$gold.", quest_is_rewarded=true, quest_kill_count=0, stat_point=stat_point+".$add_stat." where user_id='".$account_id."' and character_uid='".$char_uid."'";

		//Query Result
		$result = @mysqli_query($dbhandle,$update_query);
		$response = "QUEST_REWARD_FAILED";
		
		if($result)
		{
			//$error = RewardItems_string($dbhandle, $char_uid, $reward_items, $reward_item_types, $reward_item_counts);
			$response = "QUEST_REWARD_OK";			
		}
		else
		{
			$error = mysqli_error($dbhandle);
		}
	}
	
	
	 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,'error'=>$error,'current_gold'=>$current_gold, 'added_stat_point'=>$add_stat));
}
//@todo: check quest_id & state==complete

QuestReward($_GET['account_id'], $_GET['char_uid'], $_GET['level'], $_GET['exp'], $_GET['gold'], $_GET['reward_items'], $_GET['reward_item_types'],$_GET['reward_item_counts'], $_GET['add_stat']);

?>