<?php
include 'common.php';


function DeleteExpiredItem($dbhandle, $account_id, $time_now)
{
	$query = "DELETE owned_boost where user_id='".$account_id."' and  end_date < str_to_date('".$time_now."', '%Y-%m-%d %H:%i:%s')";
	
	//Query Result
	$result = @mysqli_query($dbhandle,$query);
	if($result)
	{
		// don't use for upate/insert query, because these query result is true/false, not mysqli_result object
		//mysqli_free_result($result); 
		return true;
	}
	else
	{
		// don't use for upate/insert query, because these query result is true/false, not mysqli_result object
		//mysqli_free_result($result); 
		return false;
	}
}

function ConsumeBoostItem($dbhandle, $char_uid, $exp_item_inven_uid, $exp_item_count_update)
{
		
	
	if($exp_item_count_update <=0)
	{
		$query = "delete from owned_item where owned_item_uid=".$exp_item_inven_uid." and character_uid='".$char_uid."'";
	}
	else
	{
		$query = "update owned_item set count=".$exp_item_count_update." where owned_item_uid=".$exp_item_inven_uid." and character_uid='".$char_uid."'";
	}
	
	
	//Query Result
	$result = @mysqli_query($dbhandle,$query);
	if($result)
	{
		// don't use for upate/insert query, because these query result is true/false, not mysqli_result object
		//mysqli_free_result($result); 
		return true;
	}
	else
	{
		// don't use for upate/insert query, because these query result is true/false, not mysqli_result object
		//mysqli_free_result($result); 
		return false;
	}
	
}


function UpdateBoost($account_id, $login_key, $char_uid,$exp_item_uid, $exp_item_inven_uid, $exp_item_count_update, $is_add_duration, $exp_increase, $duration,$boost_type, $start, $end, $time_now )
{
	$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;
	}
	
	$response = "SAVE_BOOST_FAILED";
	$error = "";
//	UPDATE tbl_name SET date_col = STR_TO_DATE($start, '%Y-%m-%d %H:%i:%s');

    if(ConsumeBoostItem($dbhandle, $char_uid, $exp_item_inven_uid, $exp_item_count_update))
	{
		
		//delete expired 
		//DeleteExpiredItem($dbhandle,$account_id, $time_now);
		
		
		if($is_add_duration == 1)
		{
			$query = "UPDATE owned_boost set duration = ".$duration.", boost_type=".$boost_type.", start_date = '".$start."', end_date = '".$end."' where user_id='".$account_id."' and item_uid=".$exp_item_uid." and end_date > str_to_date('".$time_now."', '%Y-%m-%d %H:%i:%s')";	
		}
		else
		{
			$query = "INSERT INTO owned_boost (user_id, item_uid, exp_increase, duration, boost_type, start_date, end_date) VALUES ('".$account_id."',".$exp_item_uid.",".$exp_increase.",".$duration.",".$boost_type.",'".$start."','".$end."')";	
		}
		

		//Query Result
		$result = @mysqli_query($dbhandle,$query);
		
		if($result)
		{
			$response = "SAVE_BOOST_OK";
			// don't use for upate/insert query, because these query result is true/false, not mysqli_result object
			//mysqli_free_result($result); 
		}
		else
		{
			$error = mysqli_error($dbhandle);
		}
	}
	else
	{
		$error = "ConsumeExpBoostItem Error";
	}
	
	
	 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));
}



$account_id = $_GET['account_id'];
$char_uid = $_GET['char_uid'];
$login_key = $_GET['login_key'];
$gold_price = $_GET['gold_price'];
$crystal_price = $_GET['crystal_price'];
$exp_item_uid = $_GET['exp_item_uid'];
$exp_item_inven_uid = $_GET['exp_item_inven_uid'];
$exp_item_count_update = $_GET['exp_item_count_update'];
$is_add_duration = $_GET['is_add_duration'];
$exp_increase = $_GET['exp_increase'];
$duration = $_GET['duration'];
$boost_type = $_GET['boost_type'];
$start = $_GET['start'];
$end = $_GET['end'];
$time_now = $_GET['time_now'];


if(CheckValidatedServerIP())
{
	
	UpdateBoost($account_id, $login_key, $char_uid,$exp_item_uid, $exp_item_inven_uid, $exp_item_count_update, $is_add_duration, $exp_increase, $duration, $boost_type, $start, $end, $time_now );
	
}
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	));
}

?>