<?php
header( 'Access-Control-Allow-Origin:*' );

error_reporting( E_ALL );
ini_set( 'display_errors', 1 );
error_reporting( E_ERROR | E_PARSE | E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_COMPILE_WARNING );

date_default_timezone_set( "Asia/Karachi" );
$added_date_time = date( "Y-m-d H:i:s" );

$db_host = "jansnew.cgc8qcjgyunt.eu-central-1.rds.amazonaws.com";
$db_name = 'purchase_prod';
$db_username = 'jansadminpanel';
$db_password = 'T^_])KY,@;26MJ>}e~zAaB';

$active_table = "auction_data";

function getRealPOST() {

	$replacement = '';
	$response = array();
	$vars = new stdClass();
	$input = file_get_contents('php://input');

	if (strpos($input, '&') !== false) {
		$pairs = explode( "&", file_get_contents( "php://input" ) );
		foreach ( $pairs as $pair ) {
			$values = array();
			$nv = explode( "=", $pair );
			$name = urldecode( $nv[ 0 ] );

			$name = str_replace( array( '[', ']' ), '', $name );
			$value = urldecode( $nv[ 1 ] );
			if ( property_exists( $vars, $name ) ) {
				$vars->$name .= $value . ",";
			} else {
				$vars->$name  = "";
				$vars->$name .= $value . ",";
			}

		}

		foreach ( $vars as $key => $val ) {
			$ar = array();
			$ar = explode( ",", $val );
			$vars->$key = $ar;
		}
		return $vars;
	}else{
		$contentArray = json_decode($input, true);
		if($contentArray['action'] == 'sayuri_bulk'){
			$array = [
				$contentArray['action']
			];
		}else{
			$array = [
				$_POST['action']
			];
		}
		$vars->action = $array;
		return $vars;	
	}
}
/*
function getRealPOST() {

	$replacement = '';
	$response = array();
	$vars = new stdClass();
	$input = file_get_contents('php://input');
	
	if (strpos($input, '&') !== false) {
		$pairs = explode( "&", file_get_contents( "php://input" ) );
		foreach ( $pairs as $pair ) {
			$values = array();
			$nv = explode( "=", $pair );
			$name = urldecode( $nv[ 0 ] );

			$name = str_replace( array( '[', ']' ), '', $name );
			$value = urldecode( $nv[ 1 ] );
			if ( property_exists( $vars, $name ) ) {
				$vars->$name .= $value . ",";
			} else {
				$vars->$name  = "";
				$vars->$name .= $value . ",";
			}

		}

		foreach ( $vars as $key => $val ) {
			$ar = array();
			$ar = explode( ",", $val );
			$vars->$key = $ar;
		}
		return $vars;
	}else{
		$array = [
			$_POST['action']
		];
		$vars->action = $array;
		return $vars;
	}
}
*/

$mydata = getRealPOST();

$action = $mydata->action[ 0 ];
switch ( $action ) 
{
 
        case "get_user_bids":
		secureCall($mydata ,'get_users_bids');
		// get_users_bids( $mydata );
		break;

        case "countries":
		// secureCall($mydata ,'countries');
		countries( $mydata );
		break;

        case "all_countries":
		all_countries();
		break;

		case "get_bid_settings_price":
		secureCall($mydata ,'get_bid_settings_price');
		// get_bid_settings_price($mydata);
	    break;

        case "get_country_bidding_users":
		get_country_bidding_users();
		break;

        case "get_suggested_bid_price":
		get_suggested_bid_price( $mydata );
		break;

	    case "get_purchased_comp";
		secureCall($mydata ,'get_purchased_comp');
		// get_purchased_comp($mydata);
		break;

        case "set_token":
		secureCall($mydata ,'set_token');
		// set_token( $mydata );
		break;

        case "get_lot_no":
	    get_lot_no_detail($mydata);
	    break;
       
        case "get_bids_price":
		secureCall($mydata ,'get_bids_price');
		// get_bids_price($mydata);
	    break;
        
        case "get_un_sold_chassis":
		get_un_sold_chassis($mydata);
		break;
        case "get_auction_bids_data":
		secureCall($mydata ,'get_auction_bids_data');
		// get_auction_bids_data($mydata);
		break;
        case "sayuri":
	    get_chassis_manufacturing_year($mydata);
	    break;
	    case "save_user_log":
		save_user_log( $mydata, $added_date_time );
		break;

		case "save_error_log";
		save_error_log($mydata);
	    break;
         
        case "get_chassis_min_max";
		get_chassis_min_max($mydata);
		break; 
		case "set_car_status";
		set_car_status($mydata);
		break;
		////////////////Only USS Functions///////////////////////////
        case "get_auction_bids_data_uss":
		get_auction_bids_data_uss($mydata);
		break;

		case "get_suggested_bid_price_uss":
		get_suggested_bid_price_uss($mydata);
		break;

		case "save_uss_user_data":
		secureCall($mydata ,'save_uss_user_data');
		// save_uss_user_data($mydata);
		break;	
		case "get_uss_user_data":
		secureCall($mydata ,'get_uss_user_data');
		// get_uss_user_data($mydata);
		break;	
		case "delete_uss_user_data":
		secureCall($mydata ,'delete_uss_user_data');
		// delete_uss_user_data($mydata);
		break;

		case 'get_auction_bids_data_total_iauc':
		secureCall($mydata ,'get_auction_bids_data_total_iauc');
		// get_auction_bids_data_total_iauc($mydata);
		break;
		
		case "get_unsold_cars_uss";
		secureCall($mydata ,'get_un_sold_chassis_uss');
		// get_un_sold_chassis_uss($mydata);
		break;

		case "get_user_successfull_bids":
		get_user_successfull_bids( $mydata );
		break;

		case "get_aucneo_bid";
		get_aucneo_bid($mydata);
		break;
		
		case "get_auction_companies_for_aucneo";
		get_auction_companies_for_aucneo($mydata);
		break;

		case "get_lotno_for_aucneo";
		secureCall($mydata ,'get_lotno_for_aucneo');
		// get_lotno_for_aucneo($mydata);
		break;

		case "set_alarm_iauc";
		secureCall($mydata ,'set_alarm_iauc');
		// set_alarm_iauc($mydata);
		break;

		case "get_all_bids_for_lot";
		get_all_bids_for_lot($mydata);
		break;

		case "get_alarm_bids":
		secureCall($mydata ,'get_alarm_bids');
		// get_alarm_bids($mydata);
		break;

		case "get_bds_bid";
		get_bds_bid($mydata);
		break;


		case "get_user_pruchased_bids";
		get_user_pruchased_bids($mydata);
		break;

		case "sayuri_bulk";
		get_chassis_manufacturing_year_bulk($mydata);
		break;

		case "get_user_pruchased_bids_engine":
		get_user_pruchased_bids_engine($mydata);
		break;

		case "send_group_whatsapp_msg":
			send_group_whatsapp_msg($mydata);
		break;

		case "insert_bike_data":
		secureCall($mydata ,'insert_bike_data');
		// insert_bike_data( $mydata );
		break;

		case "get_users_bike_bids":
		secureCall($mydata ,'get_users_bike_bids');
		// get_users_bike_bids( $mydata );
		break;

		case "delete_existing_bids":
		secureCall($mydata ,'delete_existing_bids');
		// delete_existing_bids( $mydata );
		break;

		case "update":
		secureCall($mydata ,'update_data');
		// update_data( $mydata );
		break;

		case "save_purchased_price";
		save_purchased_price($mydata);
		break;

					
}

function authenticateUser($loginId, $password, $mac = '') {
    $apiUrl = 'https://www.jjpurchase.com/api/login-ext';
    
    $postData = [
        'app_id'     => 2,
        'app_token'  => 'WKa6kWMT7dZDmKdebVyCOMoMCkBBfhlsiCivEIQgpLTOq5usrH3KzrKL9kGj',
        'login_id'   => $loginId,
        'password'   => $password,
        'mac'        => $mac
    ];

    $ch = curl_init($apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/x-www-form-urlencoded'
    ]);
    
    $response = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);

    if ($error) {
        // Log error or return false
        return false;
    }

    $data = json_decode($response, true);

	if($data['success'] == true){
		$apiToken = $data['api_token'];
		$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
		mysqli_set_charset( $conn, "utf8mb4" );
		mysqli_query( $conn, "UPDATE users_for_ext SET token = '$apiToken' WHERE login_id = '$loginId'");

	}

	return $data;
}

function isUserLoggedIn($loginId) {
    // Step 1: Get token from DB
    $conn = mysqli_connect(
        $GLOBALS['db_host'],
        $GLOBALS['db_username'],
        $GLOBALS['db_password'],
        $GLOBALS['db_name']
    );

    if (!$conn) return false;

    mysqli_set_charset($conn, "utf8mb4");

    $userId = mysqli_real_escape_string($conn, $loginId);
    $query = "SELECT token,user_id FROM users_for_ext WHERE login_id = '$loginId'";
    $result = mysqli_query($conn, $query);

    if (!$result || mysqli_num_rows($result) == 0) {
        return false;
    }

    $row = mysqli_fetch_assoc($result);
    $token = $row['token'];
	$userId = $row['user_id'];

    // Step 2: Call check-ext-login API with POST
    $apiUrl = 'https://www.jjpurchase.com/api/check-ext-login';

    $postData = [
        'app_id'      => 2,
        'app_token'   => 'WKa6kWMT7dZDmKdebVyCOMoMCkBBfhlsiCivEIQgpLTOq5usrH3KzrKL9kGj',
        'api_token'   => $token,
        'app_user_id' => $userId,
    ];

    $ch = curl_init($apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/x-www-form-urlencoded'
    ]);

    $response = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);

    if ($error) {
        return false;
    }

    $data = json_decode($response, true);
    return isset($data['success']) && $data['success'] === true;
}

function secureCall($mydata, $callback) {
    $username = $_POST['username'] ?? null;

    if (!$username || !isUserLoggedIn($username)) {
        echo json_encode(['success' => false, 'message' => 'Unauthorized','error' => 'Please Login First.']);
        return;
    }
	// Built In PHP function
    call_user_func($callback, $mydata);
}

/////////////////////////////////////////////////
/////////////////////////////////////////////////
///////////// Only USS Functions/////////////////

function get_auction_bids_data_uss($mydata)
{
	$country_id = $_POST["country_id"];
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $con, "utf8mb4" );
	
	//$current_date = date("Y-m-d");
	
	$current_date = strtotime($_POST["date"]);
	$current_date = date( 'Y-m-d', $current_date );
	$company_name = $_POST["site_name"];
	

					
	$sql = "SELECT lot_no2 as lot_no FROM auction_data
					WHERE purchase_country=$country_id
					AND auction_date = '$current_date' AND deleted_at is NULL
					AND company_name_id  = (SELECT company_name_id_master FROM purchase_prod.auction_companies_other WHERE auction_company_name= '".$company_name."' )
					";

	$response = array(); 
	$result = mysqli_query($con,$sql);
	$response['status'] = 200;
	$response['data'] = mysqli_fetch_all($result,MYSQLI_ASSOC);
	mysqli_close($con);
	echo json_encode($response);
}
/////////////////////////////////////////////////////////

//////////////////////////////////////
function get_un_sold_chassis_uss($mydata)
{
	    $username = $_POST["username"];
        $date = $_POST["date"];
		$country_id = $_POST["country_id"];
		$data_string = $_POST["data"];


		//subtract three days from arrival date value
		$date = new DateTime($date);
		$date->modify('-3 days');
		$date = $date->format('Y-m-d');


		if(!empty($data_string))
		{
			$data_obj = json_decode($data_string);
			
		}


		$where = " ( ";

		$is_first = 0;
		$i =0 ;
		$total_count = count($data_obj);
		foreach($data_obj as $row) 
        {

        	$where .= " ( ";

        	if(isset($row->name))
        	{
        		$where .= " company_name = '$row->name' ";
        	}
        	if(isset($row->car_name))
        	{
        		$where .= " AND car_name = '$row->car_name' ";
        	}
        	if(isset($row->grade))
        	{
        		$where .= " AND grade = '$row->grade' ";
        	}
        	if(isset($row->type))
        	{
        		$where .= " AND type = '$row->type' ";
        	}
        	if(isset($row->year))
        	{
        		$where .= " AND YEAR = '$row->year' ";
        	}
        	if(isset($row->mileage))
        	{
        		$where .= " AND mileage = '$row->mileage' ";
        	}

        	
        	
        	if( $i == $total_count - 1 )
        	{
        		$where .= " ) ";
        	}
        	else
        	{
        		$where .= " ) OR ";
        	}

        	$i++;
        }

        $where .= " ) AND auction_date < '$date' AND purchase_country = $country_id ";
		
	
		$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
		mysqli_set_charset( $con, "utf8mb4" );
		
		$sql = "SELECT lot_no2,auction_date,bid_price,remarks,company_name,year,mileage,type,car_name,grade FROM auction_data WHERE $where";


		$response = array(); 
		$result = mysqli_query($con,$sql);
		$response['status'] = 200;
		$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
		
		mysqli_close($con);
		echo json_encode($response);
}
/////////////////////////////////////////////////////////
function get_suggested_bid_price_uss( $mydata)
{
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	$data_arr = json_decode($_POST["data"]);
	$length = count($data)-1;
	$i=0;
	
	$total_result = array();
	
	
	foreach($data_arr  as $data)
	{
		$sql = "SELECT lot_no2,year,AVG(bid_price) as avg_price FROM auction_data Where ";
		$is_one= 0;
		if($data)
		{
			if(isset($data->Year))
			{
				$year = explode(".",$data->Year);
				if($year[1]){
					$is_one = 1;
					$sql .= " YEAR = '" . $year[1] . "'";
				}
			}
			if(isset($data->part_1))
			{
				if($is_one = 1)
				{
					$sql .= " AND ";
				}
				else
				{
					$is_one = 1;
				}
				 $data->cc = str_replace('cc','',$data->part_1);
				$sql .= " type like '" . $data->part_1 ."%'";
			}
			///
			
			if(isset($data->country_id))
			{
				if($is_one = 1)
				{
					$sql .= " AND ";
				}
				else
				{
					$is_one = 1;
				}
				$sql .= " purchase_country  = '" . $data->country_id ."' AND bid_price <= 500";
			}
			//echo $sql;
			$result = mysqli_query( $conn,$sql);
			$res = mysqli_fetch_all($result,MYSQLI_ASSOC);
			$res = current($res);
			
			if($res["avg_price"])
			{
				$total_result[$data->key] = round($res["avg_price"]);
			}
		}
	}
	echo json_encode($total_result);
}
//////////////////////////////////////////////////////////

function save_uss_user_data($mydata)
{
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	
	$username = $_POST["username"];
	$grade = $_POST["grade"];
	
	$ex_sql = "INSERT INTO uss_ext_user_detail(`user_id`,`value`)VALUES('$username','$grade')";
	$conn->query($ex_sql);
	echo "save";
}

function get_uss_user_data($mydata)
{
	$conn =mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	$username = $_POST["username"];
	
	$sql = "SELECT * from uss_ext_user_detail Where user_id='$username'";
	$result = mysqli_query( $conn,$sql);
	$res = mysqli_fetch_all($result,MYSQLI_ASSOC);
	echo json_encode($res);
}

function delete_uss_user_data($mydata)
{
	
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	
	$username = $_POST["username"];
	$grade = $_POST["grade"];
	
	$ex_sql = "DELETE FROM uss_ext_user_detail WHERE `user_id` = '$username' AND `value` = '$grade'";
	$conn->query($ex_sql);
	echo "delete";
}
//////////////////////////////////////////////////////////

///////////END Only USS Functions/////////////////////////
//////////////////////////////////////////////////////////
if(function_exists($_GET['f'])) {
   $_GET['f']();
}
function tetest(){ echo $GLOBALS['db_host']; die('>>>');}
function get_users_bids($mydata)
{	
	
	///,ac.rate_mun_db,ac.bid_price
	$login_id = $_POST["username"];
	global $active_table;
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $con, "utf8mb4" );
	$sql = "SELECT ac.type, ch.min, ch.max,ac.is_alarm_on, ac.car_name, ac.remarks, ac.chassis_code, ac.id, u.login_id, u.uss_color, u.iauc_color, ac.purchase_country, ac.shifted, REPLACE(hr.hr_name,' ','-') as country_name,
		LOWER(hr.`css_class`) as hr_name,ac.`company_name`,ac.`lot_no2` AS lot_no,ac.`auction_date`,ac.company_name_id,
		null AS auction_details_bid,hr.transfer_lock,";
		if($login_id == 'deen' || $login_id == 'auran' || $login_id == 'noor' || $login_id == 'fazal' || $login_id == 'dawood' || $login_id == 'qasam'
	                || $login_id == 'sharif_jpn' || $login_id == 'mohibjapan' || $login_id == 'umer' || $login_id == 'jawed' || $login_id =='saadullah_jpn'
					 || $login_id == 'bilal_jpn' || $login_id =='ahmad_jpn' || $login_id =='yousaf_jnp' || $login_id =='umer_japan')
			$sql .= "ac.rate_mun_db, ac.bid_price ";
		else
		{
			$sql .= "ac.rate_mun_db '',IF(ac.shifted = 1, ac.rate_mun_db, ac.bid_price) AS bid_price ";
			
		}
		///$sql .= ",IF(bid_price>500, bid_price/10000, bid_price) AS bid_price ";
		//$sql .= "IF(ac.shifted == 0, ac.rate_mun_db  , bid_price) AS bid_price";


		//IF(u.is_japan_user=0, ac.rate_mun_db, ac.bid_price) AS bid_price,
		//IF(u.is_japan_user=0, '', ac.rate_mun_db) AS rate_mun_db
		
		$sql .= "FROM ". $active_table ." ac
		INNER JOIN users u ON u.`id`= ac.`added_by` 
		INNER JOIN hr_level_detail hr ON ac.`purchase_country` = hr.`id` AND hr.`hr_level_id` = 2
		LEFT JOIN user_select_chassis_per_country ch
		    ON ch.type_name = ac.type
		    AND ch.country_id = ac.purchase_country
		    AND ch.user_id = ac.added_by";

	
	$sql .= " Where ("; 
	

	
	$data = json_decode($_POST["data"]);
	$length = count($data)-1;
	$i=0;
	$is_run = false;
	$company_arr = array();
	foreach($data as $row) 
	{
		$is_run = true;
		$mysqldate = null;
		if(!empty($row->date))
		{
		
			$phpdate = strtotime($row->date );
			$mysqldate = date( 'Y-m-d', $phpdate );
			//$mysqldate = "2018-11-09";
		}
		
		$row->lot_no = trim($row->lot_no);
		////////////////////////company id selection ////////
		$company_name = $row->name;
		$company_id = get_auction_company_id($company_name);
		
		if(!isset($company_arr[$company_id]))
		{
			$company_arr[$company_id] = $company_name;
		}
		//////
		if($i == $length)
		{
			$sql .= "( ac.`company_name_id` = '". $company_id ."'
					AND  ac.`auction_date` = '" . $mysqldate ."' 
					AND  ac.`lot_no2` = '".$row->lot_no ."')
					";
		}
		else
		{
			$sql .= "( ac.`company_name_id` = '". $company_id ."' 
					AND  ac.`auction_date` = '" . $mysqldate ."' 
					AND  ac.`lot_no2` = '". $row->lot_no ."') OR ";
		}		
		$i++;
	}



	$arr=get_countires_id_from_user_id($login_id);
	$arr = implode(',',$arr);
	$sql .= " )AND ac.deleted_by = 0  AND ac.purchase_country IN($arr) 
	order by lot_no2 ASC,
	IF(bid_price>500, bid_price/10000, CAST(bid_price AS UNSIGNED)) * 1 DESC";
	 
	//echo $sql;
	//die();

	//$sql .= " )  AND ac.purchase_country IN($arr) order by bid_price DESC";
	$response = array(); 
	$response['status']= 404;
	$response['data'] = "Data Not Found!";
	//echo $sql;
	//die();
	if($is_run)
	{
		$result = mysqli_query($con,$sql);
		$response['status'] = 200;
		
		$data_result = mysqli_fetch_all($result,MYSQLI_ASSOC);

		$i=0;
		foreach($data_result as $row_data)
		{
			
			if(isset($row_data["chassis_code"]))
			{
				$row_data["chassis_code"] = trim($row_data["chassis_code"]);
			}

			if(isset($row_data["car_name"]))
			{
				$row_data["car_name"] = trim($row_data["car_name"]);
			}
			$data_result[$i]["expense"] = '';
			if(isset($company_arr[$row_data["company_name_id"]]))
			{
				$auction_company = $company_arr[$row_data["company_name_id"]];
				$auction_company_id = get_auction_company_id_expense($con,$auction_company);
				$data_result[$i]["company_name"] = $auction_company;
				$data_result[$i]["expense"] = get_expenses($con, $auction_company_id,$row_data["purchase_country"],$row_data["bid_price"],$row_data["remarks"]);
			}
			if( $data_result[$i]["bid_price"] > 500)
				$data_result[$i]["bid_price"] = round($data_result[$i]["bid_price"] / 10000,1);
			if($row_data["japan_check"] == 1)
                $data_result[$i]["bid_price"] = 'Nashi';
			
			$i++;
		}		
		$response['data'] = $data_result;
	}
	echo json_encode($response);
}
////////////////////// function to get expenses //////////////////////
function get_expenses ($conn, $auction_company_id,$jans_country,$jans_bid_price,$remarks)
{
	if($jans_bid_price == 'nashi' || $remark == 'nashi')
	{
		$jans_bid_price = 99999999;
	}

	$expense = ''; 
	if($auction_company_id!=''){
		
		$result_expense = mysqli_query($conn, "SELECT * from auctions_expense_master where status = 1 AND country_id = '".$jans_country."' AND auction_company_id = '".$auction_company_id."'");

		if ( mysqli_num_rows( $result_expense ) > 0 ) {
		while ( $exp = mysqli_fetch_assoc( $result_expense ) ) {
				$expense = $exp['expense'];
				if(($expense!='' && $expense>0) && ($jans_bid_price!='' && $jans_bid_price>0 && $jans_bid_price!='X' && $jans_bid_price!='x')){
				
				if($jans_bid_price>500 && $expense<=500){
					$expense = $expense * 10000;
				}
				
				}
		}
		}
	}
	return $expense;
}
//////////////////////////////////////


/////////////////////////////////////
function get_auction_company_id_expense($conn,$company_name)
	{
	 $sql = "SELECT * from auction_companies_other where auction_company_name = '$company_name'";
		$result = mysqli_query($conn,$sql) or die(mysqli_error());
		$auction_company_id = '';
		while ( $row = mysqli_fetch_assoc( $result ) ) {
				 $auction_company_id = $row[ 'auction_company_id' ];
			
			}
			return $auction_company_id;
		
	}

//////////////////////////////////////
function get_countires_id_from_user_id($username)
{
	
	
	
	$conn =mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	$result = mysqli_query( $conn, "SELECT * FROM users where login_id = '$username'" );
	$user_id = '';
	if ( mysqli_num_rows( $result ) > 0 ) {

		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
		}
	}
	
	$result = mysqli_query( $conn, "SELECT hr.id,  hr.hr_name 
		FROM hr_level_detail AS hr
		INNER JOIN roles_countries AS rc
		ON rc.country_id = hr.id
		INNER JOIN users_roles AS ur
		ON ur.role_id = rc.role_id
		WHERE ur.deleted_at IS NULL
		AND ur.user_id = '$user_id'" );
		$arr = array();
		if ( mysqli_num_rows( $result ) > 0 ) {
			while ( $row = mysqli_fetch_assoc( $result ) ) {
				$arr[]  = $row[ "id" ];
			}
		}

	return $arr;
			
}
//////////////////////////////////////
function get_auction_bids_data_total_iauc($mydata)
{
	$country_id = $_POST["country_id"];
	
	$auction_date = strtotime($_POST["date"]);
	$auction_date = date( 'Y-m-d', $auction_date );
	$username = $_POST["username"];
	//$start_bids = $_POST['start_bids'];
	
	
	
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $con, "utf8mb4" );
	
	
	//////////////////
	$result = mysqli_query( $con, "SELECT * FROM users where login_id = '$username'" );
	$user_id = '';
	if ( mysqli_num_rows( $result ) > 0 ) {

		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
		}
	}
	//////////////////
	/*
	$sql = "SELECT lot_no2 as lot_no FROM auction_data
				WHERE purchase_country=$country_id
				AND auction_date = '$auction_date' AND added_by = '$user_id'
				";
				*/
$sql = "SELECT COUNT(lot_no2) as totallot_no FROM auction_data
				WHERE purchase_country=$country_id 
				AND auction_date = '$auction_date' AND extension_version = '7.0' AND deleted_at is NULL
								";
	


	//echo $sql;
	$response = array(); 
	$result = mysqli_query($con,$sql);
	$response['status'] = 200;
	$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
	
	mysqli_close($con);
	echo json_encode($response);
}
////////////////////////////////////////

//////////////////////////////////////
function get_auction_company_id($company_name)
{
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
 $sql = "SELECT * from auction_companies_other where auction_company_name = '$company_name'";
	$result = mysqli_query($conn,$sql) or die(mysqli_error());
	$company_id = '';
	while ( $row = mysqli_fetch_assoc( $result ) ) {
			 $company_id = $row[ 'company_name_id_master' ];
		
		}
		return $company_id;
	
}

/////////////////function get bids data
function get_auction_bids_data($mydata)
{
	$country_id = $_POST["country_id"];
	
	$auction_date = strtotime($_POST["date"]);
	$auction_date = date( 'Y-m-d', $auction_date );
	$username = $_POST["username"];
	$start_bids = $_POST['start_bids'];
	
	
	
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $con, "utf8mb4" );
	
	
	//////////////////
	$result = mysqli_query( $con, "SELECT * FROM users where login_id = '$username'" );
	$user_id = '';
	if ( mysqli_num_rows( $result ) > 0 ) {

		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
		}
	}
	//////////////////
	/*
	$sql = "SELECT lot_no2 as lot_no FROM auction_data
				WHERE purchase_country=$country_id
				AND auction_date = '$auction_date' AND added_by = '$user_id'
				";
				*/
$sql = "SELECT lot_no2 as lot_no FROM auction_data
				WHERE purchase_country=$country_id
				AND auction_date = '$auction_date' AND extension_version = '7.0' AND deleted_at is NULL
				LIMIT 1000 OFFSET $start_bids
				";
	


	//echo $sql;
	$response = array(); 
	$result = mysqli_query($con,$sql);
	$response['status'] = 200;
	$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
	
	mysqli_close($con);
	echo json_encode($response);
}
//////////////////////////////////////////////////
	function get_lot_no_detail($mydata)
{
	$country_id = $_POST["country_id"];
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], 'janjapannew1' );
	mysqli_set_charset( $con, "utf8mb4" );
	
	$user_id = $_POST['user_id'];
	//$country_arr = get_login_users_cntry($user_id);
	
	///$sql = "SELECT * from hr_level_detail where parent_id = '$country_id'";
	//$result = mysqli_query($con,$sql);
	//while ( $row = mysqli_fetch_assoc( $result ) ) {
				$country_arr[] = $country_id;
			//}
	//$current_date = date("Y-m-d");
	
	$current_date = strtotime($_POST["date"]);
	$current_date = date( 'Y-m-d', $current_date );
	
	 $sql = "SELECT lot_no FROM car_record
			WHERE delete_state=0 AND salable_registered_day = '".$current_date."'
			AND parent_id IN ( SELECT id FROM hr_level_detail WHERE delete_state=0 AND hr_level_id=3 AND parent_id 
			IN (" . implode(',', $country_arr) . "))";
			

	$response = array(); 
	$result = mysqli_query($con,$sql);
	$response['status'] = 200;
	$response['data'] = mysqli_fetch_all($result,MYSQLI_ASSOC);
	mysqli_close($con);
	echo json_encode($response);
}
////////////////////////////////////////
/////////////////////////////////////
function get_bids_price($mydata)
{	
	$company_name = $_POST["compnay_name"];
	if(!empty($company_name))
	{	
		$country_id = $_POST["country_id"];
		
		$current_date = strtotime($_POST["date"]);
		$current_date = date( 'Y-m-d', $current_date );
		
		$type = $_POST["type"];
		//$current_date = date("d-m-Y");
		//echo $company_name . " : " . $country_id ." : " . $type  ." : " . $current_date;
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, "https://www.jjpurchase.com/api/get_not_purchased_cars");
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, "app_user_id=155
		&api_token=pwM0rcVzZ9gA4rdOGgWz2gyRLebg84qN7cQRD0AfrzugWKwlNiQOns9N8QAt
		&device_id=216875912&current=1
		&rowCount=-1
		&form_data[0][name]=auction_date
		&form_data[0][value]=$current_date
		&form_data[1][name]=iauc_auction_name
		&form_data[1][value]=$company_name
		&form_data[2][name]=country_id
		&form_data[2][value]=$country_id
		&form_data[3][name]=update_auction_sold_prices
		&form_data[3][value]=1
		&form_data[4][name]=auction_status
		&form_data[4][value]=Not Sold
		&form_data[5][name]=auction_sold_price_status
		&form_data[5][value]=$type");
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

		$server_output = curl_exec($ch);
		$server_output = json_decode($server_output,true);
		
		$arr = array();
		
		if(!empty($server_output["rows"]))
		{
			foreach($server_output["rows"] AS $row)
			{
				if(isset($row["lot_no"]))
				{
					array_push($arr,$row["lot_no"]);
				}
			}
		}
		echo json_encode($arr);
		curl_close($ch);
	}
}
///////////////////////////////////////

function get_un_sold_chassis($mydata)
	{
		$chassis_arr = $_POST["chassis_code_arr"];
		$date_arr = $_POST["date_arr"];
		
		
		$country_id = $_POST["country_id"];
		if(!empty($chassis_arr))
		{
			$chassis_arr = json_decode($chassis_arr);
			
		}
		if(!empty($date_arr))
		{
			$date_arr = json_decode($date_arr);
		}
		
		$string_arr= "";
		$date_arr_string = "";
		
		if(isset($chassis_arr[0] ))
		{
			$string_arr = "'" . $chassis_arr[0] . "'";
		}
		
		if(isset($date_arr[0] ))
		{
			$date_arr_string = "'" . $date_arr[0] . "'";
		}
		
		foreach($chassis_arr as $row)
		{
			$string_arr .= ",'". $row ."'";
		}
		
		foreach($date_arr as $row)
		{
			$date_arr_string .= ",'". $row ."'";
		}
		
		
		$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
		mysqli_set_charset( $con, "utf8mb4" );
		
		$sql = "SELECT company_name,lot_no2,chassis_code,bid_price,remarks FROM auction_data WHERE auction_date NOT IN ($date_arr_string) AND purchase_country = '$country_id' AND chassis_code IN ($string_arr) GROUP BY chassis_code
ORDER BY auction_date DESC";
	
		//echo $sql;
		$response = array(); 
		$result = mysqli_query($con,$sql);
		$response['status'] = 200;
		$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
		
		mysqli_close($con);
		echo json_encode($response);
	}
///////////////////////////////////////
function get_suggested_bid_price( $mydata)
{
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	$data = json_decode($_POST["data"]);
	$length = count($data)-1;
	$i=0;
	
	$sql = "SELECT AVG(bid_price) as avg_price FROM auction_data Where ";
	$is_one= 0;
	if($data)
	{
		if(isset($data->Year))
		{
			$year = explode(".",$data->Year);
			if($year[1]){
				$is_one = 1;
				$sql .= " YEAR = '" . $year[1] . "'";
			}
		}
		/*
		if($data->cc)
		{
			if($is_one = 1)
			{
				$sql .= " AND ";
			}
			else
			{
				$is_one = 1;
			}
			 $data->cc = str_replace('cc','',$data->cc);
			$sql .= " cc like '" . $data->cc ."%'";
		}
		*/
		
		////
		if(isset($data->part_1))
		{
			if($is_one = 1)
			{
				$sql .= " AND ";
			}
			else
			{
				$is_one = 1;
			}
			 $data->cc = str_replace('cc','',$data->part_1);
			$sql .= " type like '" . $data->part_1 ."%'";
		}
		///
		
		if(isset($data->country_id))
		{
			if($is_one = 1)
			{
				$sql .= " AND ";
			}
			else
			{
				$is_one = 1;
			}
			$sql .= " purchase_country  = '" . $data->country_id ."' AND bid_price <= 500";
		}
		
		/*if($data->Color)
		{
			if($is_one = 1)
			{
				$sql .= " AND ";
			}
			else
			{
				$is_one = 1;
			}
			$sql .= " color = '" . $data->Color ."'";
		}*/
		//echo $sql;
		$result = mysqli_query( $conn,$sql);
		$res = mysqli_fetch_all($result,MYSQLI_ASSOC);
		$res = current($res);
		
		if($res["avg_price"])
		{
			echo round($res["avg_price"]);
		}
	}
}
/////////////////////////////////////
/////////////////////////////
function set_token( $mydata ) {

	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	
	mysqli_set_charset( $conn, "utf8mb4" );
	
	//username and password
	$username = $mydata->username[ 0 ];
	$password = $mydata->password[ 0 ];


	//"SELECT ur.id FROM users_roles ur INNER JOIN roles_countries rc ON rc.role_id = ur.role_id WHERE ur.user_id = '$user_id' AND rc.country_id = '$jans_country'"

	$result = mysqli_query( $conn, "SELECT * FROM users where login_id = '$username'" );

	if ( mysqli_num_rows( $result ) > 0 ) {

		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
		}
		
		$token = rand() * $user_id;
		/////
			$sql = mysqli_query( $conn, "UPDATE users  SET remember_token='$token' WHERE id='$user_id'" );	
			$arr['token'] = $token;
			$arr['user_id'] = $user_id; 
			echo json_encode($arr);
		/////
		
	}

}
//////////////////////////////////////////////////////sayuri////
 function get_chassis_manufacturing_year($mydata) {
	 $chassis_no =  $mydata->chassis[ 0 ];
        $response = array();
//                var_dump("JJONLINE");
//                var_dump("$chassis_no");
//                die;
        try {
            $chassis_no = trim($chassis_no);
            if(empty($chassis_no)){
                throw new Exception("Chassis No Missing");
            }                        

            $chassis_parts = explode("-", $chassis_no);
            if(count($chassis_parts) < 2){
                throw new Exception("Invalid Chassis Format. Requires -(hyphen)");
            }
//            $chassis_code = 'HE21S';
//            $chass_no = '658439';
            list($chassis_code, $chass_no) = $chassis_parts;

            $ch = curl_init();

           $payload = [
				'chassis_code' => $chassis_code,
				'chassis_no' => $chass_no
			];
            
			curl_setopt($ch, CURLOPT_URL, "https://sayuri.co.jp/en/api/check_chassis_no");
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload)); // Send as URL-encoded form data
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_HTTPHEADER, [
				'Content-Type: application/x-www-form-urlencoded'
			]);

            $server_output = curl_exec($ch);

            curl_close($ch);

            if (!empty($server_output)) {
                $doc = new DOMDocument();
                $doc->loadHTML($server_output);
                $h1 = $doc->getElementsByTagName('h1');
//                kas_pr($h1);
                if ($h1->length == 0) {
                    $div = $doc->getElementsByTagName('div');
                    $div = $div->item(0);
                    $msg = trim($div->textContent);
                    throw new Exception($msg);
                }
//                kas_pr($h1->item(0));
                $h1 = $h1->item(0);
                $year = trim($h1->textContent);
                if(is_null($year) || $year == "A Database Error Occurred"){
                    throw  new Exception("*Chassis Not Found");
                }
                $response['mfg_year'] = $year;
                $response['success'] = TRUE;
            }
        } catch (Exception $ex) {
            $response['msg'] = $ex->getMessage();
            $response['mfg_year'] = -1;
            $response['error'] = TRUE;
        }
        echo json_encode($response);
    }
//////////////////////////////////////////////////
function countries( $mydata ) {
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	
	mysqli_set_charset( $conn, "utf8mb4" );
	
	//username and password
	$username = $mydata->username[ 0 ];
	$password = $mydata->password[ 0 ];
	$mac = '84';//$mydata->mac[ 0 ];


	//"SELECT ur.id FROM users_roles ur INNER JOIN roles_countries rc ON rc.role_id = ur.role_id WHERE ur.user_id = '$user_id' AND rc.country_id = '$jans_country'"

	//$result = mysqli_query( $conn, "SELECT * FROM users_for_ext where login_id = '$username' AND password = '$password'" );
	
	$result = authenticateUser($username, $password, $mac);

	if ($result['success'] == true) {
		$user_id = $result[ 'user_id' ];
		$countries = $result[ 'countries' ];
		/////	
		/* old Approach commented now using countries from API Response
		$result = mysqli_query( $conn, "SELECT hr.id,  hr.hr_name 
		FROM hr_level_detail AS hr
		INNER JOIN roles_countries AS rc
		ON rc.country_id = hr.id
		INNER JOIN users_roles AS ur
		ON ur.role_id = rc.role_id
		WHERE ur.deleted_at IS NULL
		AND ur.user_id = '$user_id' ORDER BY hr.hr_name ASC" ) ; */

		if ( count($countries ) > 0 ) {
			echo '<option selected>Select Country</option>';
			foreach ( $countries as $row ) {
				echo "<option value='" . $row[ "country_id" ] . "'>"  . $row[ "country_name" ]  . "</option>";
			}
		} else {
			//echo 'no country rights assigned';
			echo 1;
		}
	} else {
		echo 2;
		//echo 'Sorry, username OR pwd is incorrect ' . $username;
	}

}
//////////////////////////////////////////////////
function all_countries() {
	
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
		//$result = mysqli_query( $conn, "select id, hr_name from purchase_prod.hr_level_detail order by hr_name ASC");
		$result = mysqli_query( $conn, "SELECT hr.id,  hr.hr_name 
		FROM hr_level_detail AS hr
		INNER JOIN roles_countries AS rc ON rc.country_id = hr.id
		INNER JOIN users_roles AS ur ON ur.role_id = rc.role_id
		WHERE ur.deleted_at IS NULL group by hr.hr_name order by hr_name ASC");
		
		$response = array(); 
		$response['status'] = 200;
		$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
		
		mysqli_close($con);
		echo json_encode($response);

}
//////////////////////////////////////////////////
function get_country_bidding_users() {
	
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	$country_id = $_POST["country_id"];
	$response = array(); 
	if($country_id!=''){
		$result = mysqli_query( $conn, "SELECT u.user_id,  u.login_id 
			FROM users AS u
			INNER JOIN users_countries AS uc ON uc.user_id = u.id
			WHERE uc.country_id = ".$country_id." group by u.login_id");
		
		$response['status'] = 200;
		$response['response'] =  "success";
		$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
		
		mysqli_close($con);
	}else{
		$response['status'] = 200;
		$response['data'] =  array();
		$response['response'] =  "Please provide country_id.";
	}
	
	echo json_encode($response);
	
}
///////////////////////////////////////////////
function save_user_log($data)
{
	$name = $_POST["name"];
	$username = $_POST['username'];
	$country_id = $_POST['country_id'];
	$type = $_POST['type'];


	$user_id = '';
	$ip = $_SERVER["REMOTE_ADDR"];
	$browser = $_SERVER["HTTP_USER_AGENT"];
	$date = new DateTime($date);
	$date = $date->format('Y-m-d H:i:s');

	
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );
	
	$result = mysqli_query( $conn, "SELECT * FROM users where login_id = '$username'" );

	if ( mysqli_num_rows( $result ) > 0 ) {
		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
		}
	}

	$ex_sql = "INSERT INTO functionality_log(name,country_id,user_id,ip,browser,datetime,type) 
			VALUES('$name','$country_id','$user_id','$ip','$browser','$date','$type')";

	$result =$conn->query($ex_sql);

	echo "Save Log Successfully";
}
/////////////////////////////////////

function get_purchased_comp($mydata)
{
	$username = $_POST["user_name"];
	$auct_date = $_POST["jans_auction_date"];
	$country_idd = $_POST["country_id"];

	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
		mysqli_set_charset( $con, "utf8mb4" );
		
 $sql = "SELECT aco.api_stats_name,aco.company_name_id_master,ad.auction_date
FROM auction_data AS ad
LEFT JOIN auction_companies_other AS aco ON aco.`api_stats_name` = ad.`company_name`

WHERE ad.`purchase_country` = '$country_idd' 
AND ad.`auction_date` = '$auct_date'
GROUP BY aco.api_stats_name";
	
		//echo $sql;
		$response = array(); 
		$result = mysqli_query($con,$sql);
		$response['status'] = 200;
		$response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);
		
		mysqli_close($con);
		echo json_encode($response);

}
function save_error_log($mydata)
{
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name']);
	mysqli_set_charset( $conn, "utf8mb4" );
	
	$selected_date = $_POST["selected_date"];
	$curr_date = $_POST["curr_date"];
	$ext_view = $_POST["ext_view"];
	$user_id = $_POST["user_id"];
	
	$ex_sql = "INSERT INTO extension_error_log(`selected_date`,`curr_date`,`ext_view`,`user_id`)
				VALUES('$selected_date','$curr_date','$ext_view','$user_id')";
	$conn->query($ex_sql);
	echo "save";
}

//////////////////////////////////////////////////

function get_chassis_min_max($mydata)
{
    $con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
    mysqli_set_charset( $con, "utf8mb4" );


    $user_name  = $_POST["user_name"];
    $country_id = $_POST["country_id"];
    if($country_id == "492")
    {
        $country_id = "14";
    }
    $chassis_list = json_decode($_POST["chassis_list"]);
    //$chassis_list = implode(",", $chassis_list);


    $modal_list = json_decode($_POST["modal_list"]);
    //$modal_list = implode(",", $modal_list);


    $i=0;
    $total_len = count($chassis_list);

    $where_con = " ( ";

    while($i<$total_len)
    {
        if($chassis_list[$i] && $modal_list[$i])
        {
            /////START///114 code//11/11/19
            $modal_list_sub =  substr($modal_list[$i],1,4);

            if($modal_list_sub == "Benz")
            {
                $modal_list[$i] = "'".substr($modal_list[$i],6);
            }

            /////END///114 code//11/11/19

            $chassis_list[$i]= trim($chassis_list[$i],"'");
            $last_char = substr($chassis_list[$i],-1);
            $second_last_char = substr($chassis_list[$i],-2,1);
            if(is_numeric($second_last_char))
            {
                if(ctype_alpha($last_char))
                    $chassis_list[$i] = rtrim($chassis_list[$i], $last_char);

            }

            $where_con .= " ( " ;

            $where_con .= " ccc.chassis_code_name like '" . $chassis_list[$i]."%'";
           
            $where_con .= " AND ( " ;

            $where_con .= " cmd.model_name =  " . $modal_list[$i];

            $where_con .= " OR emo.model_name =  " . $modal_list[$i];
           
            $where_con .= " ) ) " ;

           
        }
        $i++;
        if( $i < $total_len )
        {
            $where_con .= " OR ";
        }
    }

    $where_con .= " ) ";

  $sql = "SELECT
  SUM(CASE WHEN car.is_delivery = 1 THEN 1 ELSE 0 END) AS reserved_total,
  u_chas.`id`,
  u_chas.`type_name`,
  ccc.`chassis_code_name`,
  u_chas.`max`,
  u_chas.`min`,
  c_d.`demond`,
  COUNT(car.`car_id`) AS total_car_count
FROM
  janjapannew1.`car_record` AS car
  LEFT JOIN janjapannew1.`car_maker` AS cm
    ON cm.`car_maker_id` = car.`make_id`
  LEFT JOIN janjapannew1.`car_model` AS cmd
    ON cmd.`car_maker_id` = car.`make_id`
    AND cmd.`car_model_id` = car.`model_id`
  LEFT JOIN purchase_prod.`extension_model_others` AS emo
    ON emo.`car_maker_original_id` = car.`make_id`
    AND emo.`car_model_original_id` = car.`model_id`
  LEFT JOIN janjapannew1.`car_chassis_code` AS ccc
    ON ccc.`maker_id` = car.`make_id`
    AND ccc.`model_id` = car.`model_id`
    AND ccc.`chassis_code_id` = car.`car_chassis_code`
  LEFT JOIN janjapannew1.country_demond AS c_d
    ON c_d.`country_id` = $country_id
    AND c_d.`chassis_code_id` = ccc.`chassis_code_id`
    AND c_d.`maker_id` = ccc.`maker_id`
    AND c_d.`model_id` = ccc.`model_id`
  LEFT JOIN purchase_prod.user_select_chassis_per_country AS u_chas
    ON u_chas.type_name = ccc.`chassis_code_name`
    AND u_chas.`country_id` = $country_id
    and u_chas.user_id = ( select id from users where login_id = '$user_name')
WHERE car.parent_id IN
  (SELECT
    id
  FROM
    janjapannew1.hr_level_detail
  WHERE parent_id = $country_id)
  AND car.`delete_state` = 0
  AND car.is_sale IN (1, 3)
  AND $where_con
GROUP BY ccc.`chassis_code_name`";

    $response = array();
    $result = mysqli_query($con,$sql);
    $response['status'] = 200;
    $response['data'] =  mysqli_fetch_all($result,MYSQLI_ASSOC);

    mysqli_close($con);
    echo json_encode($response);
}

///////////////////////////////////////
function get_bid_settings_price($mydata)
{	
	
	$login_id = $_POST["username"];
	$country_id = $_POST['country_id'];
	
	global $active_table;
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $con, "utf8mb4" );
	
	$result = mysqli_query( $con, "SELECT user_id FROM users where login_id = '".$login_id."'" );
	$user_id = '';
	if ( mysqli_num_rows( $result ) > 0 ) {
		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row['id'];
		}
	}
	
	$sql = "SELECT chassis_code, mileage_from, mileage_to, model_year, price from user_bid_settings";
	$sql .= " WHERE ("; 
	
	
	$data = json_decode($_POST["data"]);
	$length = count($data)-1;
	$i=0;
	$is_run = false;
	$company_arr = array();
	foreach($data as $row) 
	{
		$is_run = true;
		
		$chassis_code = $row->chassis_code;
		$model_year = $row->model_year;
		$mileage = $row->mileage;
		
		if($i == $length)
		{
			$sql .= "( `chassis_code` = '". $chassis_code ."' AND (`model_year` <= " . $model_year ." OR `model_year_to` >= ".$model_year.") AND (`mileage_from` <= ".$mileage." OR `mileage_to` >= ".$mileage."))";
		}
		else
		{
			$sql .= "( `chassis_code` = '". $chassis_code ."' AND (`model_year` <= " . $model_year ." OR `model_year_to` >= ".$model_year.") AND (`mileage_from` <= ".$mileage." OR `mileage_to` >= ".$mileage.")) 
			OR ";
		}		
		$i++;
	}

 	$sql .= " ) AND user_id = '".$user_id."'  AND country_id = '".$country_id."'";

	//echo $sql;
	//die();	 
	$response = array(); 
	$response['status']= 404;
	$response['data'] = "Data Not Found!";
	//echo $sql;die();
	
	if($is_run)
	{
		$result = mysqli_query($con,$sql);
		$response['status'] = 200;
		$data_result = mysqli_fetch_all($result,MYSQLI_ASSOC);
		$response['data'] = $data_result;
	}
	echo json_encode($response);
}
///////////////////////////////////////



function get_user_successfull_bids($mydata)
{	
	try {
		global $active_table;
		$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name']);
		$auction_date = $_POST["auction_date"];
		
		$sql = "SELECT IF(ac.bid_price>500, ac.bid_price/10000, CAST(ac.bid_price AS UNSIGNED)) as bid_price,pdf.lot_no,cmpy.tc_web_auction_company,pdf.rate_mun,
				ac.remarks,ac.chassis_code,pdf.extra_price,u.login_id,REPLACE(hr.hr_name,' ','-') as country_name,
				LOWER(hr.`css_class`) as hr_name, pdf.model 
				FROM auction_data as ac 
				INNER JOIN users u ON u.`id`= ac.`added_by` 
				INNER JOIN buying_team_pdf_data pdf ON pdf.`auction_data_id`= ac.`id` 
				INNER JOIN auction_companies cmpy ON cmpy.`id`= pdf.`auction_company_id` 
				INNER JOIN hr_level_detail hr ON ac.`purchase_country` = hr.`id`
				AND hr.`hr_level_id` = 2
				WHERE pdf.auction_date = '$auction_date' GROUP BY cmpy.tc_web_auction_company, pdf.lot_no";

		$result = mysqli_query($con,$sql);
		$response = array(); 
		$response['status']= 404;
		$response['data'] = "Data Not Found!";

		$data_result = mysqli_fetch_assoc($result);


		if($data_result){
			// Enable output buffering
			ob_start();

			$first = true; // Flag to track the first iteration
		
			// Fetch data row by row and encode each row as it's processed
			while ($row = mysqli_fetch_assoc($result)) {
				if (!$first) {
					echo ','; // Add a comma if it's not the first object
				}
				echo json_encode($row);
				$first = false;
			}
		
			// Get the buffered data and send it as a JSON array
			$encodedData = '[' . rtrim(ob_get_clean()) . ']';
		
			// Remove leading commas (if any) between objects
			$encodedData = preg_replace('/,\s*([\]}])/', '$1', $encodedData);
			$encodedData = str_replace(',,', ',', $encodedData);
		}		
		echo $encodedData;
	} catch (Exception $e) {
		die("Error: " . $e->getMessage());
	}
}



///////////////////////////////////////

///////////////////////////////////////




///////////////////////////////////////////////

function get_auction_companies_for_aucneo($mydata)
{
		$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	try{
	 	$sql = "SELECT * from auction_companies order by auction_company_name ASC";
		$result = mysqli_query($conn,$sql) or die(mysqli_error());
		$selectHtml = '<option value="">Select Company</option>';

		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'No Data Found!';	
		if ( mysqli_num_rows( $result ) > 0 ) {
			while ( $row = mysqli_fetch_assoc( $result ) ) {
				$selectHtml .= '<option value="' .$row['id'] . '">' . str_replace('_', ' ', $row['auction_company_name']). '</option>';
			}
			$response['status'] = 200;
	   		$response['data'] = $selectHtml;
		}

		// Set the response content type to JSON
		header('Content-Type: application/json');
	} catch (\Throwable $th) {
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'Somwthing Went Wrong!';
	}
		echo json_encode($response);
}

function get_lotno_for_aucneo($mydata)
{
		$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );


		$username = $_POST['username'];
		$date = $_POST['date'];
	try{
	 	$sql = "SELECT  ac.id,ac.bid_price,ac.remarks,pdf.lot_no,aucmpy.auc_neo_station_id FROM auction_data as ac
						INNER JOIN buying_team_pdf_data pdf ON pdf.`auction_data_id`= ac.`id`
						INNER JOIN users u ON u.`id`= ac.`added_by`
						LEFT JOIN auction_companies aucmpy ON aucmpy.id = pdf.`auction_company_id`
						WHERE pdf.`auction_date` = '$date'
						AND u.login_id = '$username' AND aucmpy.auc_neo_station_id !=''";

		$result = mysqli_query($conn,$sql) or die(mysqli_error());

		$response = array(); 
		$data = array();
		$response['status'] = 404;
		$response['data'] = 'No Data Found!';	
		if (mysqli_num_rows($result) > 0) {
			while ($row = mysqli_fetch_assoc($result)) {
				$data[] = array(
					'lot_no' => $row['lot_no'],
					'station' => $row['auc_neo_station_id']
				);
			}
			$response['status'] = 200;
			$response['data'] = $data;
		}

		// Set the response content type to JSON
		header('Content-Type: application/json');
	} catch (\Throwable $th) {
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'Somwthing Went Wrong!';
	}
	echo json_encode($response);
}


function set_alarm_iauc($mydata){

	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );

	$username = $_POST["username"];
	$password = $_POST["password"];

	$current_date = strtotime($_POST["jans_auction_date"]);
	$current_date = date( 'Y-m-d', $current_date );
	$company_name = $_POST["site_name"];
	$country_id = $_POST["country_id"];
	$lot_no2 = $_POST["lot_no2"];
	$alarm_status = $_POST["alarm_status"];
	
	$company_id = get_auction_company_id($company_name);

					
	$sql_for_bids = "Select * from auction_data where auction_date ='$current_date' AND lot_no2=$lot_no2 AND deleted_at is NULL AND company_name_id = $company_id";

	$bids_data = mysqli_query($conn,$sql_for_bids) or die(mysqli_error());
	if ( mysqli_num_rows( $bids_data ) > 0 ) {
		$update_alarm = mysqli_query( $conn, "UPDATE auction_data SET is_alarm_on = $alarm_status where auction_date ='$current_date' AND lot_no2=$lot_no2 AND deleted_at is NULL AND company_name_id = $company_id;");
		
		$response['status']= 200;
		$response['data'] = "Alarm Off to the Lot. No";
		$response['alarm_status'] = 0;
		if($alarm_status != 0){
			$response['data'] = "Alarm Set On to the Lot. No";
			$response['alarm_status'] = 1;
		}
	}else{
		$response['status']= 404;
		$response['data'] = "No Bids Found For This Lot. No";
	}
	echo json_encode($response);
}



function set_car_status($mydata)
{
    $conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name']);
    try {
        $data = json_decode($_POST["data"]);
		$changes = []; // To store the changes
		$response = [
			'status' => 404,
			'data' => 'No Data Found!',
		];

		$data_date = $data[0]->date;

		$tomorrow = date('Y-m-d', strtotime('+1 day')); // Get tomorrow's date in Y-m-d format
    
		if ($data_date < $tomorrow) {
			$response = [
				'status' => 400,
				'data' => "Invalid date ({$data_date}). Date should be tomorrow or later."
			];
			echo json_encode($response);
			exit; // Stop execution if an invalid date is found
		}

		$lot_details = [];
		$company_ids = []; // To store company_id mapped to data rows

		foreach ($data as $row) {
			$company_id = get_auction_company_id($row->name);
			$lot_details[] = "('{$company_id}', '{$row->lot_no}', '{$row->date}')";
			$company_ids["{$row->lot_no}{$row->name}{$row->date}"] = $company_id; // Store for later use
		}

		$lot_details_str = implode(',', $lot_details);

		// Fetch all records in one query
		$bid_sql = "SELECT 
                ac.id,
                ac.company_name_id, 
                ac.lot_no2, 
                ac.auction_date, 
                ac.chassis_code,
                ac.type, 
                ac.year, 
                ac.score, 
                ac.cc, 
                ac.mileage,
                GROUP_CONCAT(DISTINCT REPLACE(hr.hr_name, ' ', '-') ORDER BY hr.hr_name SEPARATOR ', ') AS country_names
            FROM auction_data as ac
            INNER JOIN hr_level_detail hr ON ac.purchase_country = hr.id 
            LEFT JOIN auction_data_extended ON ac.id = auction_data_extended.auction_data_id 
            WHERE company_name NOT LIKE 'USS%' 
            AND hr.hr_level_id = 2 
            AND (company_name_id, lot_no2, auction_date) IN ($lot_details_str) AND auction_data_extended.is_msg_sent = 0 AND ac.deleted_by = 0 
            GROUP BY ac.company_name_id, ac.lot_no2, ac.auction_date";

		$result = mysqli_query($conn, $bid_sql);

		$db_rows = [];
		$countries = [];
		while ($db_row = mysqli_fetch_assoc($result)) {
			$db_rows["{$db_row['lot_no2']}{$db_row['company_name_id']}{$db_row['auction_date']}"] = $db_row;
		}

		// Compare data and collect changes
		foreach ($data as $row) {
			$key = "{$row->lot_no}{$company_ids["{$row->lot_no}{$row->name}{$row->date}"]}{$row->date}";
			
			if (isset($db_rows[$key])) {
				$db_row = $db_rows[$key];
				$differences = [];

				// Extract I-Type (part before '-')
				$dbIType = explode('-', $db_row['type'])[0] ?? $db_row['type'];
				$chassisIType = explode('-', $row->chassis_no)[0] ?? $row->chassis_no;

				if (normalizeString($db_row['chassis_code']) !== normalizeString($row->chassis_no)) {
					$differences['chassis_no'] = ['old' => $db_row['chassis_code'], 'new' => $row->chassis_no];
				}

				if (normalizeString($dbIType) !== normalizeString($chassisIType)) {
					$differences['i_type'] = ['old' => $dbIType, 'new' => $chassisIType];
				}

				preg_match('/\d{4}/', $db_row['year'], $yearDBMatch);
				preg_match('/\d{4}/', $row->year, $yearRowMatch);

				if ((int)$yearDBMatch[0] !== (int)$yearRowMatch[0]) {
					$differences['year'] = ['old' => (int)$yearDBMatch[0], 'new' => (int)$yearRowMatch[0]];
				}

				if (!empty($differences)) {
					$countries[] = $db_row['country_name'];
					$changes[] = [
						'lot_no' => $row->lot_no,
						'company_name' => $row->name,
						'chassis_no' => $row->chassis_no,
						'country' => $db_row['country_names'],
						'date' => $row->date,
						'differences' => $differences,
						'auction_date' => $db_row['auction_date'],
					];

					$auction_date_id = $db_row['id'];
					$bid_update_sql = "UPDATE auction_data_extended SET is_msg_sent = 1 WHERE auction_data_id = '$auction_date_id'";

					//mysqli_query($conn, $bid_update_sql);

				}
			}
		}
		


		// $changes = [
		// 	[
		// 		'lot_no' => '1024',
		// 		'chassis_no' => 'ABC123',
		// 		'company_name' => 'ARAI 4W Sendai',
		// 		'date' => '2025-01-24',
		// 		'differences' => [
		// 			'chassis_no' => [
		// 				'old' => 'ABC12003',
		// 				'new' => 'ABC12325'
		// 			],
		// 			'year' => [
		// 				'old' => 2014,
		// 				'new' => 2015
		// 			],
		// 			'mileage' => [
		// 				'old' => 25000,
		// 				'new' => 30000
		// 			],
		// 			'cc' => [
		// 				'old' => '1500',
		// 				'new' => '1400'
		// 			]
		// 		]
		// 	]
		// ];
        // Set response based on changes
        if (!empty($changes)) {
			//send_lot_change_whatsapp_msg($changes);
        }
    } catch (\Throwable $th) {
        $response = [
            'status' => 500,
            'data' => 'Something Went Wrong!',
            'error' => $th->getMessage(),
        ];
    }

    // Set the response content type to JSON
    header('Content-Type: application/json');
    echo json_encode($response);
}

function get_all_bids_for_lot(){

	global $active_table;
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	
	
	$action = $_POST["action"];
	$lot_no = $_POST['lot_no'];
	$company_id = $_POST['company_id'];
	$date = $_POST['date'];

	try {
		/////// check the company aucneo exixts or not ///////
		$sqlcmpy = "SELECT * FROM auction_companies where auc_neo_station_id = '$company_id'";
		$resultcmpy = mysqli_query($conn,$sqlcmpy) or die(mysqli_error());

		$response = array(); 
		$response['status'] = 400;
		$response['data'] = 'Please Add the Company to Record!';
		if ( mysqli_num_rows( $resultcmpy ) > 0 ) {

			if($company_id == 154){
				$company_id = 155;		// ARAI_OYAMA company occurs 2 times in a week so make the id same
			}
			$result = mysqli_query( $conn, "SELECT 
												IF(ac.bid_price > 500, ac.bid_price / 10000, CAST(ac.bid_price AS UNSIGNED)) AS bid_price,
												ac.lot_no2, 
												ac.remarks,
												ac.chassis_code,
												u.login_id,
												REPLACE(hr.hr_name,' ','-') AS country_name, 
												LOWER(hr.`css_class`) AS hr_name 
											FROM 
												auction_data AS ac
											INNER JOIN 
												users u ON u.`id` = ac.`added_by`
											INNER JOIN 
												hr_level_detail hr ON ac.`purchase_country` = hr.`id` AND hr.`hr_level_id` = 2 
											LEFT JOIN 
												auction_companies_other AS aucmpyot ON aucmpyot.auction_company_name = ac.company_name
											LEFT JOIN 
												auction_companies AS aucmpy ON aucmpy.id = aucmpyot.auction_company_id
											WHERE 
												ac.auction_date = '$date' 
												AND ac.lot_no2 = '$lot_no'
												AND aucmpy.auc_neo_station_id = '$company_id'
												AND ac.deleted_by = 0 
											ORDER BY 
												CAST(ac.bid_price AS DECIMAL(10,2)) DESC
											LIMIT 1, 1");
			
			$response['status'] = 404;
			$response['data'] = 'No Data Found!';						
			if ( mysqli_num_rows( $result ) > 0 ) {
				$data_result = mysqli_fetch_all($result,MYSQLI_ASSOC);
				$response['status'] = 200;
				$response['data'] = $data_result;
			}
		} 
	} catch (\Throwable $th) {
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'Somwthing Went Wrong!';
	}
	echo json_encode($response);
}


function get_aucneo_bid(){

	global $active_table;
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	
	
	$action = $_POST["action"];
	$lot_no = $_POST['lot_no'];
	$company_id = $_POST['company_id'];
	$date = $_POST['date'];

	try {
		/////// check the company aucneo exixts or not ///////
		$sqlcmpy = "SELECT * FROM auction_companies where auc_neo_station_id = '$company_id'";
		$resultcmpy = mysqli_query($conn,$sqlcmpy) or die(mysqli_error());

		$response = array(); 
		$data = array(); 
		$response['status'] = 400;
		$response['data'] = 'Please Add the Company to Record!';
		if ( mysqli_num_rows( $resultcmpy ) > 0 ) {

			if($company_id == 154){
				$company_id = 155;		// ARAI_OYAMA company occurs 2 times in a week so make the id same
			}
			
			$result = mysqli_query( $conn, "SELECT pdf.`lot_no` as lot_no, IF(ac.bid_price>500, ac.bid_price/10000, CAST(ac.bid_price AS UNSIGNED)) as bid_price,ac.remarks,ac.chassis_code,pdf.extra_price,u.login_id,REPLACE(hr.hr_name,' ','-') as country_name,LOWER(hr.`css_class`) as hr_name FROM auction_data as ac
								INNER JOIN users u ON u.`id`= ac.`added_by`
								INNER JOIN buying_team_pdf_data pdf ON pdf.`auction_data_id`= ac.`id` 
								INNER JOIN hr_level_detail hr ON ac.`purchase_country` = hr.`id` AND hr.`hr_level_id` = 2
									LEFT JOIN auction_companies aucmpy ON aucmpy.auc_neo_station_id = pdf.`auc_neo_station_id`
									WHERE pdf.`auction_date` = '$date'
									AND pdf.`lot_no` IN $lot_no
									AND aucmpy.`auc_neo_station_id` = '$company_id'" );

			$response['status'] = 404;
			$response['data'] = 'No Data Found!';						
			if ( mysqli_num_rows( $result ) > 0 ) {
				while ( $row = mysqli_fetch_assoc( $result ) ) {
					$lot_no = $row['lot_no'];
					$data[$lot_no] = $row;
			}
			$response['status'] = 200;
			$response['data'] = $data;
			}
		} 
	} catch (\Throwable $th) {
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'Somwthing Went Wrong!';
	}
	echo json_encode($response);
}


function get_alarm_bids(){

	global $active_table;
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );

	
	$action = $_POST["action"];
	$dataArray = $_POST['dataArray'];
	$date = $_POST['date'];


	try {	
		$username = $_POST["username"];
		$password = $_POST["password"];
	
		/////// check the company aucneo exixts or not ///////
		// $sqlcmpy = "SELECT * FROM auction_companies where auc_neo_station_id = '$company_id'";
		// $resultcmpy = mysqli_query($conn,$sqlcmpy) or die(mysqli_error());

		$response = array(); 
		// $response['data'] = 'Please Add the Company to Record!';
		// if ( mysqli_num_rows( $resultcmpy ) > 0 ) {
			$record = array(); 
			foreach($dataArray as $data){
				$company_id = $data['company_id'];
				$lot_no = $data['lotno'];
				if($company_id == 154){
					$company_id = 155;		// ARAI_OYAMA company occurs 2 times in a week so make the id same
				}
				$result = mysqli_query( $conn, "SELECT pdf.`lot_no` as lot_no, IF(ac.bid_price>500, ac.bid_price/10000, CAST(ac.bid_price AS UNSIGNED)) as bid_price,ac.remarks,ac.chassis_code,pdf.extra_price,u.login_id,REPLACE(hr.hr_name,' ','-') as country_name,LOWER(hr.`css_class`) as hr_name FROM auction_data as ac
							INNER JOIN users u ON u.`id`= ac.`added_by`
							INNER JOIN buying_team_pdf_data pdf ON pdf.`auction_data_id`= ac.`id` 
							INNER JOIN hr_level_detail hr ON ac.`purchase_country` = hr.`id` AND hr.`hr_level_id` = 2
								LEFT JOIN auction_companies aucmpy ON aucmpy.auc_neo_station_id = pdf.`auc_neo_station_id`
								WHERE pdf.`auction_date` = '$date'
								AND pdf.`lot_no`= $lot_no
								AND aucmpy.`auc_neo_station_id` = '$company_id'" );
					
				if ( mysqli_num_rows( $result ) > 0 ) {
					$data_result = mysqli_fetch_all($result,MYSQLI_ASSOC);
					$record[] = $data_result[0];
				}
			}	
			
			$response['data'] = $record;
		// } 
	} catch (\Throwable $th) {
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'Somwthing Went Wrong!';
	}
	echo json_encode($response);
}



function get_user_pruchased_bids($mydata)
{	

	try {
		global $active_table;
		$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name']);
		$auction_date = $_POST["auction_date"];
		$lot_nos = implode(',',$_POST["lot_no"]);

		$sql = "SELECT IF(ac.bid_price>500, ac.bid_price/10000, CAST(ac.bid_price AS UNSIGNED)) as bid_price,pdf.lot_no,cmpy.tc_web_auction_company,pdf.rate_mun,
				ac.remarks,ac.chassis_code,pdf.extra_price,u.login_id,REPLACE(hr.hr_name,' ','-') as country_name,
				LOWER(hr.`css_class`) as hr_name, pdf.model
				 FROM auction_data as ac 
				INNER JOIN users u ON u.`id`= ac.`added_by` 
				INNER JOIN buying_team_pdf_data pdf ON pdf.`auction_data_id`= ac.`id` 
				INNER JOIN auction_companies cmpy ON cmpy.`id`= pdf.`auction_company_id` 
				INNER JOIN hr_level_detail hr ON ac.`purchase_country` = hr.`id`
				AND hr.`hr_level_id` = 2
				WHERE pdf.auction_date = '$auction_date'
				AND pdf.lot_no IN ($lot_nos)
				GROUP BY cmpy.tc_web_auction_company, pdf.lot_no";

		$result = mysqli_query($con,$sql);
		$response = array(); 
		$response['status']= 404;
		$response['data'] = "Data Not Found!";

		$data_result = mysqli_fetch_assoc($result);


		if($data_result){
			// Enable output buffering
			ob_start();

			$first = true; // Flag to track the first iteration
		
			// Fetch data row by row and encode each row as it's processed
			while ($row = mysqli_fetch_assoc($result)) {
				if (!$first) {
					echo ','; // Add a comma if it's not the first object
				}
				echo json_encode($row);
				$first = false;
			}
		
			// Get the buffered data and send it as a JSON array
			$encodedData = '[' . rtrim(ob_get_clean()) . ']';
		
			// Remove leading commas (if any) between objects
			$encodedData = preg_replace('/,\s*([\]}])/', '$1', $encodedData);
			$encodedData = str_replace(',,', ',', $encodedData);
		}		
		echo $encodedData;
	} catch (Exception $e) {
		die("Error: " . $e->getMessage());
	}
}




function get_chassis_manufacturing_year_bulk($mydata) {
	$data = file_get_contents('php://input');

	// Decode the JSON data
	$json_data = json_decode($data, true);
	$chassis_array = $json_data['chassis'];
	$response = array();
	try {
		foreach($chassis_array as $chassisArray){
			$data = array();
			$year = "";
			$chassis_no = trim($chassisArray['chassis']);
			// $data['Error'] = "Not Found";
			$data['status'] = 404;
			if($chassisArray['maker'] == 'other'){
				if(empty($chassis_no)){
					$data['Error'] = "Chassis No Missing";
				}                        
	
				$chassis_parts = explode("-", $chassis_no);
				if(count($chassis_parts) < 2){
					$data['Error'] = "Invalid Chassis Format. Requires -(hyphen)";
				}

				list($chassis_code, $chass_no) = $chassis_parts;
	
				$ch = curl_init();
				
				$payload = [
					'chassis_code' => $chassis_code,
					'chassis_no' => $chass_no
				];
				
				curl_setopt($ch, CURLOPT_URL, "https://sayuri.co.jp/en/api/check_chassis_no");
				curl_setopt($ch, CURLOPT_POST, 1);
				curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload)); // Send as URL-encoded form data
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
				curl_setopt($ch, CURLOPT_HTTPHEADER, [
					'Content-Type: application/x-www-form-urlencoded'
				]);
	
				$server_output = curl_exec($ch);
	
				curl_close($ch);
	
				if (!empty($server_output)) {
					$doc = new DOMDocument();
					$doc->loadHTML($server_output);
					$h1 = $doc->getElementsByTagName('h1');
					
					if ($h1->length == 0) {
						$div = $doc->getElementsByTagName('div');
						$div = $div->item(0);
						$msg = trim($div->textContent);
						$data['Error'] = $msg;
					}

					$h1 = $h1->item(0);
					$year = trim($h1->textContent);
					if(!empty($year)){
						$data['status'] = 200;
					}
					if(is_null($year) || $year == "A Database Error Occurred"){
						$year = "Not Found";
					}
				}
			}else{
				$year = getBmwMercYear($chassisArray['maker'], $chassisArray['chassis']);
				if($year != 'Not Found'){
					$data['status'] = 200;
				}
			}
			
			$data[$chassis_no] = $year;
			$response['data'][] = $data;
		}

		$response['success'] = TRUE;
		
	} catch (Exception $ex) {
		$response['msg'] = 'try catch error : '. $ex->getMessage();
		$response['mfg_year'] = -1;
		$response['error'] = TRUE;
	}
	echo json_encode($response);
}

function getBmwMercYear($type,$chassis_no){
	$url = "https://www.elcats.ru/".$type."/";
	
	if($type == 'mercedes'){

		$viewstate = '/wEPDwUKMTM2NTk3MTkwOQ9kFgJmD2QWAgIDD2QWBgIBDxYCHgRocmVmBS1odHRwczovL3d3dy5leGlzdC5ydS9DYXRhbG9nL1RPL2NhcnMvTWVyY2VkZXNkAgUPFgIeCWlubmVyaHRtbAUy0JrQsNGC0LDQu9C+0LMg0LDQstGC0L7Qt9Cw0L/Rh9Cw0YHRgtC10LkgTWVyY2VkZXNkAgcPZBYCAgEPZBYCZg9kFgICAg9kFgICAQ8PFgQeBFRleHQFhQM8Yj7QmiDRgdC+0LbQsNC70LXQvdC40Y4sINC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNGB0YjQuNGE0YDQvtCy0LDRgtGMIFZJTiBXQkFQQzcyMDYwV0c1NjA4Mi48YnIgLz7QktC+0LfQvNC+0LbQvdGL0LUg0L/RgNC40YfQuNC90YsgOjxiciAvPjxiciAvPjxsaT7QndC10LrQvtGA0YDQtdC60YLQvdC+INCy0LHQuNGCIFZJTiDQutC+0LQ8L2xpPjxiciAvPjxsaT7QntGC0YHRg9GC0YHRgtCy0YPQtdGCINC40L3RhNC+0YDQvNCw0YbQuNGPINC/0L4g0LDQstGC0L7QvNC+0LHQuNC70Y4g0YEg0LTQsNC90L3Ri9C8IFZJTiDQutC+0LTQvtC8PC9saT48YnIgLz7Qn9C+0L/RgNC+0LHRg9C50YLQtSDQv9C+0LjRgdC6INC/0L4g0LzQvtC00LXQu9GM0L3QvtC80YMg0YDRj9C00YMuPC9iPh4HVmlzaWJsZWdkZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUhY3RsMDAkY3BoTWFzdGVyUGFnZSRjaGJTYXZlQ29va2lle7Ta9c2QOft9IR8tLO+0y2h7bqffAivyTpfCIuWekoc=';
		$viewstate_generator = '07FDC0E9';
		$event_validation = '/wEdAAQLFVzE00fT3v+5SonBJ6+DXSxXwe+jLz1s0gVfNmOIpSQ4b0Tr+JaPTxKt/559RcGUHAl0V1ovMNiP3VJe9oQgwbZKBZKCMMm7j7vNjRd4DnGkFeeZjnRPTKNBF8CIaK0=';

	$post_data = array(
		'ctl00$cphMasterPage$txbVIN' => $chassis_no,
		'ctl00$cphMasterPage$btnFindByVIN' => 'Search',
		'__VIEWSTATE' => $viewstate,
		'__VIEWSTATEGENERATOR' => $viewstate_generator,
		'__EVENTVALIDATION' => $event_validation
	);

	}else{
		// for bmw
		$viewstate = '/wEPDwUKMTYyODQ0MzQwMQ9kFgJmD2QWAgIDD2QWBgIBDxYCHgRocmVmBShodHRwczovL3d3dy5leGlzdC5ydS9DYXRhbG9nL1RPL2NhcnMvQk1XZAIFDxYCHglpbm5lcmh0bWwFLdCa0LDRgtCw0LvQvtCzINCw0LLRgtC+0LfQsNC/0YfQsNGB0YLQtdC5IEJNV2QCBw9kFgICCw8QZGQWAWZkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBSFjdGwwMCRjcGhNYXN0ZXJQYWdlJGNoYlNhdmVDb29raWUgcZAZ9iNlyHH/h2kPtfiafVtWk68RJySawtfsUG87hg==';
		$viewstate_generator = 'A4D20B6B';
		$event_validation = '/wEdAAjw3bHS18jcWtD/Lg3E5ziBXSxXwe+jLz1s0gVfNmOIpSQ4b0Tr+JaPTxKt/559RcGUHAl0V1ovMNiP3VJe9oQg2wYfFLaguyEMztbj6v6cYvh0vW90PMS5y5KB0cxbTKGXFQjGPNbW8oj4YO097sHwAc/foWahIFDckQak2/moQKBFYT7GD5banHX3GcxADvRUkb6278CwrVPDMvhWe50W';
		
		$post_data = array(
			'ctl00$cphMasterPage$txbVIN' => $chassis_no,
			'ctl00$cphMasterPage$btnFindByVIN' => 'Search',
			'ctl00$cphMasterPage$rblCountry' => 'ECE',
			'__VIEWSTATE' => $viewstate,
			'__VIEWSTATEGENERATOR' => $viewstate_generator,
			'__EVENTVALIDATION' => $event_validation
		);
	}


	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
		'Access-Control-Allow-Origin: *',
		'Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS',
		'Access-Control-Allow-Headers: Content-Type'
	));
	curl_setopt($ch, CURLOPT_COOKIESESSION, true);
	curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
	curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
	curl_setopt($ch, CURLOPT_POST, true);
	curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data)); // Send POST data

	$response = curl_exec($ch);
	if(curl_errno($ch)){
		echo 'Error: ' . curl_error($ch);
	}
	curl_close($ch);

	$year = 'Not Found';
	if($type == 'mercedes'){
		preg_match_all('/<td align="center">(.*?)<\/td>/s', $response, $match);
		$matchs = isset($match[0])?$match[0]:[];
		if(!empty($matchs)){
			$parts = explode('/',$matchs[7]);
			$year = str_replace("<","",$parts[2]);
		}
	
	}else{
		preg_match_all('/<td>(.*?)<\/td>/s', $response, $match);
		$matchs = isset($match[0])?$match[0]:[];
		if(!empty($matchs)){
			$parts = explode('/',$matchs[9]);
			$year = str_replace("<","",$parts[1]);
		}
		
	}

	return $year;
}


function get_user_pruchased_bids_engine($mydata)
{	

	try {
		global $active_table;
		$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name']);
		$auction_date = $_POST["auction_date"];
		$lot_no = implode(',', $_POST["lot_no"]);
		$lot_conditions = [];

		// Loop through lot_no array to extract lot_no and company_code pairs
		foreach ($_POST["lot_no"] as $pair) {
			if (isset($pair[0]) && isset($pair[1])) {
				$lot_no = mysqli_real_escape_string($con, $pair[0]);
				$company_code = mysqli_real_escape_string($con, $pair[1]);
				$lot_conditions[] = "(pdf.lot_no = '$lot_no' AND cmpy.uss_engine_company = '$company_code')";
			}
		}

		$where_clause = implode(' OR ', $lot_conditions);
	
		$sql = "SELECT IF(ac.bid_price > 500, ac.bid_price / 10000, CAST(ac.bid_price AS UNSIGNED)) as bid_price,
                    pdf.lot_no,
                    cmpy.tc_web_auction_company,
                    pdf.rate_mun,
                    ac.remarks,
                    ac.chassis_code,
                    pdf.extra_price,
                    u.login_id,
                    REPLACE(hr.hr_name, ' ', '-') as country_name,
                    LOWER(hr.css_class) as hr_name,
					pdf.model
            FROM auction_data as ac 
            INNER JOIN users u ON u.id = ac.added_by 
            INNER JOIN buying_team_pdf_data pdf ON pdf.auction_data_id = ac.id 
            INNER JOIN auction_companies cmpy ON cmpy.id = pdf.auction_company_id 
            INNER JOIN hr_level_detail hr ON ac.purchase_country = hr.id
            AND hr.hr_level_id = 2
            WHERE pdf.auction_date = '$auction_date'
            AND ($where_clause)
            GROUP BY cmpy.tc_web_auction_company, pdf.lot_no";

		$result = mysqli_query($con, $sql);
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = "Data Not Found!";
	
		// Enable output buffering
		ob_start();
	
		$first = true; // Flag to track the first iteration
	
		// Fetch data row by row and encode each row as it's processed
		while ($row = mysqli_fetch_assoc($result)) {
			if (!$first) {
				echo ','; // Add a comma if it's not the first object
			}
			echo json_encode($row);
			$first = false;
		}
	
		// Get the buffered data and send it as a JSON array
		$encodedData = '[' . ob_get_clean() . ']';
	
		// Remove leading commas (if any) between objects
		$encodedData = preg_replace('/,\s*([\]}])/', '$1', $encodedData);
		$encodedData = str_replace(',,', ',', $encodedData);
		
		echo $encodedData;
	
	} catch (Exception $e) {
		die("Error: " . $e->getMessage());
	}	
}




function send_group_whatsapp_msg($mydata){
	$data = json_decode($_POST["data"]);
	$site = $_POST["site"];
	$type = $_POST["type"] ?? '';
	
	if(!empty($data)) {
		foreach($data as $row){
			if($site == 'tc-web'){
				$groupId = '120363332702440816@g.us';
				$text = "TC-Web ".$type."\nLot-No : ".$row->lot_no."\nCompany : ".$row->cmpy."\nCar Name : ".$row->model."\nChassis Code : ".$row->chassis_code."\n\n";
				if($row->range == true){
					$text .= "🚨🚨🚨\n";
				}
				$text .= "Applied-Bid : ".$row->applied_bid."\nPurchase-Bid : ".$row->final_bid."\n\n";
			}else if($site == 'uss-engine'){
				$groupId = '120363332702440816@g.us';
				$text = "USS-Engine Incorrect Bid\nLot-No : ".$row->lot_no."\nCompany : ".$row->cmpy."\nCar Name : ".$row->model."\nChassis Code : ".$row->chassis_code."\n\n";
				if($row->range == true){
					$text .= "🚨🚨🚨\n";
				}
				$text .= "Applied-Bid : ".$row->applied_bid."\nPurchase-Bid : ".$row->final_bid."\n\n";
			}
			$data = array(
				'receiver' => $groupId,
				'message' => array(
					'text' => $text
				)
			);

			if(!empty($groupId)){
				$url = "http://jjwhatsapp.com/node/groups/send?id=mdt";
				$content = json_encode($data);
			
				$curl = curl_init($url);
				curl_setopt($curl, CURLOPT_HEADER, false);
				curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
				curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
				curl_setopt($curl, CURLOPT_POST, true);
				curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
			
				$json_response = curl_exec($curl);
				$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
			
				curl_close($curl);
			
				$response = json_decode($json_response, true);
			}
		}
	}	
}


function send_lot_change_whatsapp_msg($data){
	
	if(!empty($data)) {
		foreach($data as $row){
			$text = '';
			// $groupId = '120363332702440816@g.us';
			$groupId = '120363368914568173@g.us';

			// Check if the chassis code is in the differences and highlight it
			if (!empty($row['differences']['chassis_no'])) {
				$difference = $row['differences']['chassis_no'];
				// Concatenate the chassis code change with no breaks in between
				$text .= "🚨🚨🚨🚨🚨🚨 Chassis Code Changed 🚨🚨🚨🚨🚨🚨\n\n";
			}else{
				$text .= "🚨🚨 LOT NO. Changes 🚨🚨\n";
			}
			$formattedDate = date('d-m-Y', strtotime($row['auction_date']));
			$text .= "Company Name : ".$row['company_name']."\n*Chassis Code* : ".$row['chassis_no']."\n*Lot-No* : ".$row['lot_no']."\n*Country* : ".$row['country']."\n*Auction Date* : ".$formattedDate."\n\n";

			if (!empty($row['differences'])) {
				foreach ($row['differences'] as $key => $difference) {
					$text .= "========== ".ucfirst($key)." ==========\n*Old* : ".$difference['old']."\n*New* : ".$difference['new']."\n";
				}
			}

			$data = array(
				'receiver' => $groupId,
				'message' => array(
					'text' => $text
				)
			);

			if(!empty($groupId)){
				$url = "http://jjwhatsapp.com/node/groups/send?id=mdt";
				$content = json_encode($data);
			
				$curl = curl_init($url);
				curl_setopt($curl, CURLOPT_HEADER, false);
				curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
				curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
				curl_setopt($curl, CURLOPT_POST, true);
				curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
			
				$json_response = curl_exec($curl);
				$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
			
				curl_close($curl);
			
				$response = json_decode($json_response, true);
			}
		}
	}	
}


function normalizeString($value) {
    if ($value === null) return ''; // Handle null values
    // Remove leading/trailing spaces, replace non-breaking spaces, and unify encodings
    return trim(str_replace("\u{00A0}", " ", mb_convert_encoding($value, 'UTF-8')));
}

function insert_bike_data( $mydata )
{
	global $active_table;

	$username = $mydata->username[ 0 ];
	$password = $mydata->password[ 0 ];

	$extension_version = $mydata->extension_version[ 0 ];
	$extension_view = $mydata->extension_view[ 0 ];

	$user_id  = '';

	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );

	$result = mysqli_query( $conn, "SELECT * FROM users WHERE login_id = '$username'" );

	if ( mysqli_num_rows( $result ) > 0 ) {

      while ( $row = mysqli_fetch_assoc( $result ) ) 
        {
			$user_id = $row[ 'id' ];
		}
		if(empty($user_id))
		{
			$error_login = "Please first login";
			$response['error'] = $error_login;
			echo json_encode($response);
			return false;
		}

		$jans_auction_date = $mydata->jans_auction_date[ 0 ];
		
		if(empty($jans_auction_date))
		{
			$error_date =  "Your auction date is not properly set!";
			$response['error'] = $error_date;
			echo json_encode($response);
			return false;
		}

		$today = new DateTime('now', new DateTimeZone('Asia/Karachi'));
		$max_date = (clone $today)->modify('+2 days');
		$auction_date = new DateTime($jans_auction_date, new DateTimeZone('Asia/Karachi'));
		
		// Extract only the date part
		$today_date = $today->format('Y-m-d');
		$max_date_date = $max_date->format('Y-m-d');
		$auction_date_date = $auction_date->format('Y-m-d');
		
		if ($auction_date_date > $max_date_date) {
			$error_date = "The auction date must be within the next two days (today, tomorrow, or the day after).";
			$response['error'] = $error_date;
			echo json_encode($response);
			return false;
		}

		$phpdate = strtotime($jans_auction_date);
		$jans_auction_date  = date( 'Y-m-d', $phpdate );
	
        
         ////// 114 Code to add year START //////
      	$month = date("m",strtotime($jans_auction_date));
		if($month == '01')
		{
			$year = date("Y",strtotime($jans_auction_date));
			if($year == '2021')
			{
			$jans_auction_date = date('Y-m-d', strtotime("+1 years",strtotime($jans_auction_date)));
		    }
			
			
		}

		$jans_country = $mydata->jans_country[ 0 ];

		$check_user_country = mysqli_query( $conn, "SELECT ur.id FROM users_roles ur 
										INNER JOIN roles_countries rc ON rc.role_id = ur.role_id
										WHERE ur.user_id = '$user_id' AND rc.country_id = '$jans_country'" );

		if ( mysqli_num_rows( $check_user_country ) == 0 ) 
		{

			$error_country =  "Selected country not in your rights";
			$response['error'] = $error_country;
			echo json_encode($response);
			return false;
		}

		$check_user_country_lock = mysqli_query( $conn, "SELECT id FROM  hr_level_detail WHERE id = '$jans_country' AND
		bid_lock = 1" );
		if ( mysqli_num_rows( $check_user_country_lock ) > 0 ) {

				$error_stopped = "Purchase for this Market has been stopped by Japan Office.";
			$response['error'] = $error_stopped;
			echo json_encode($response);
			return false;
		}

		$jans_bid_price = $_POST['bid_price'];
		$remarks = $_POST['remarks'];
		$auction_company = $_POST['auction_company'];
		if($auction_company == 'Kanto'){
			$auction_company = 'KANTO BIKES';
		}
		$company_id = get_auction_company_id($auction_company);

		$manufacturer = $_POST['manufacturer'];
		$carname = $_POST['car_name'];
		$added_date_time = $_POST['date'];
		$lot_no = $_POST['lot_no'];
		$frame_no = $_POST['frame_no'];
		$engine_model = $_POST['engine_model'];
		$mileage = isset($_POST['mileage']) ? preg_replace('/\D/', '', $_POST['mileage']) : null;
		$cc = isset($_POST['cc']) ? preg_replace('/\D/', '', $_POST['cc']) : null;
		$start_price = isset($_POST['starting_price']) ? preg_replace('/\D/', '', $_POST['starting_price']) : null;
		$color = $_POST['color'] ?? null;
		$modelyear = $_POST['year'];

		$check_record = mysqli_query( $conn, "SELECT id FROM $active_table  where deleted_at is null and auction_date = '$jans_auction_date' AND company_name_id = '$company_id' AND purchase_country = '$jans_country' AND lot_no2 = '$lot_no'" );

		if ( mysqli_num_rows( $check_record ) == 0 ) {
			if($jans_bid_price <= 500 && $jans_bid_price!='X' && $jans_bid_price!='x')
			{
				$jans_bid_price_plain = $jans_bid_price * 10000;
			}

			$sql = "INSERT INTO $active_table(`company_name`,`lot_no`,`year`,`car_name`,`type`,`cc`,
			`color`,`mileage`,`auction_date`,`added_by`,`purchase_country`,
			`bid_price`, `chassis_code`, `extension`, `remarks`, `start_price`, `created_at`, `auction_no`,`lot_no2`,
			`company_name_id`,`bid_price_ori`) 
			VALUES('$auction_company','$lot_no','$modelyear','$carname','$carname','$cc','$color',
			'$mileage','$jans_auction_date','$user_id','$jans_country','$jans_bid_price', '$frame_no', 'bikeExtension', '$remarks', '$start_price', '$added_date_time',
			'$lot_no','$lot_no','$company_id','$jans_bid_price');";

			if ( $conn->query( $sql ) === TRUE ) {
				$last_id = $conn->insert_id;
				$response['last_id'] = $last_id;
				echo json_encode($response);
				return false;
			}
		}
		else
		{
			$error_lot =  "Lot number is already exist in database";
			$response['error'] = $error_lot;
			echo json_encode($response);
			return false;
		}
	} 
    else 
    {
		$error_login =  'Sorry, username OR pwd is incorrect ' . $username;
		$response['error'] = $error_login;
		echo json_encode($response);
	}
	
}

function get_users_bike_bids($mydata)
{	

	///,ac.rate_mun_db,ac.bid_price
	$login_id = $_POST["username"];

	global $active_table;
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	// mysqli_set_charset( $conn, "utf8mb4" );
	$sql = "SELECT ac.type, ch.min, ch.max, ac.car_name,ac.is_alarm_on, ac.remarks, ac.chassis_code, ac.id, u.login_id, u.uss_color, u.iauc_color, ac.purchase_country, ac.shifted, REPLACE(hr.hr_name,' ','-') as country_name,
		LOWER(hr.`css_class`) as hr_name,ac.`company_name`,ac.`lot_no2` AS lot_no,ac.`auction_date`,ac.company_name_id,
		null AS auction_details_bid,hr.transfer_lock,";
		if($login_id == 'deen' || $login_id == 'auran' || $login_id == 'noor' || $login_id == 'fazal' || $login_id == 'dawood' || $login_id == 'qasam'
	                || $login_id == 'sharif_jpn' || $login_id == 'mohibjapan' || $login_id == 'umer' || $login_id == 'JAWED')
			$sql .= "ac.rate_mun_db, ac.bid_price ";
		else
		{
			$sql .= "ac.rate_mun_db '',IF(ac.shifted = 1, ac.rate_mun_db, ac.bid_price) AS bid_price ";
			
		}
		
		$sql .= "FROM ". $active_table ." ac
		INNER JOIN users u ON u.`id`= ac.`added_by` 
		INNER JOIN hr_level_detail hr ON ac.`purchase_country` = hr.`id` AND hr.`hr_level_id` = 2
		LEFT JOIN user_select_chassis_per_country ch
		    ON ch.type_name = ac.type
		    AND ch.country_id = ac.purchase_country
		    AND ch.user_id = ac.added_by";

	
	$sql .= " Where ("; 
	

	
	$data = json_decode($_POST["data"]);
	$length = count($data)-1;
	$i=0;
	$is_run = false;
	$company_arr = array();
	foreach($data as $row) 
	{
		$is_run = true;
		$mysqldate = null;
		if(!empty($row->date))
		{
		
			$phpdate = strtotime($row->date );
			$mysqldate = date( 'Y-m-d', $phpdate );
			//$mysqldate = "2018-11-09";
		}
		
		$row->lot_no = trim($row->lot_no);
		////////////////////////company id selection ////////
		$company_name = $row->company;
		$company_id = get_auction_company_id($company_name);

		if(!isset($company_arr[$company_id]))
		{
			$company_arr[$company_id] = $company_name;
		}
		//////
		if($i == $length)
		{
			$sql .= "( ac.`company_name_id` = '". $company_id ."'
					AND  ac.`auction_date` = '" . $mysqldate ."' 
					AND  ac.`lot_no2` = '".$row->lot_no ."')
					";
		}
		else
		{
			$sql .= "( ac.`company_name_id` = '". $company_id ."' 
					AND  ac.`auction_date` = '" . $mysqldate ."' 
					AND  ac.`lot_no2` = '". $row->lot_no ."') OR ";
		}		
		$i++;
	}

	$arr=get_countires_id_from_user_id($login_id);
	$arr = implode(',',$arr);
	$sql .= " )AND ac.deleted_by = 0  AND ac.purchase_country IN($arr) 
	order by lot_no2 ASC,
	IF(bid_price>500, bid_price/10000, CAST(bid_price AS UNSIGNED)) * 1 DESC";

	//$sql .= " )  AND ac.purchase_country IN($arr) order by bid_price DESC";
	$response = array(); 
	$response['status']= 404;
	$response['data'] = "Data Not Found!";
	//echo $sql;
	//die();
	if($is_run)
	{
		$result = mysqli_query($con,$sql);
		$response['status'] = 200;
		
		$data_result = mysqli_fetch_all($result,MYSQLI_ASSOC);

		$i=0;
		foreach($data_result as $row_data)
		{
			
			if(isset($row_data["chassis_code"]))
			{
				$row_data["chassis_code"] = trim($row_data["chassis_code"]);
			}

			if(isset($row_data["car_name"]))
			{
				$row_data["car_name"] = trim($row_data["car_name"]);
			}
			$data_result[$i]["expense"] = '';
			if(isset($company_arr[$row_data["company_name_id"]]))
			{
				$auction_company = $company_arr[$row_data["company_name_id"]];
				$auction_company_id = get_auction_company_id_expense($con,$auction_company);
				$data_result[$i]["company_name"] = $auction_company;
				$data_result[$i]["expense"] = get_expenses($con, $auction_company_id,$row_data["purchase_country"],$row_data["bid_price"],$row_data["remarks"]);
			}
			if($row_data["japan_check"] == 1)
                $data_result[$i]["bid_price"] = 'Nashi';
			$i++;
		}		
		$response['data'] = $data_result;
	}
	echo json_encode($response);
}


function delete_existing_bids($mydata)
{

    $username = $mydata->username[ 0 ];
    $password = $mydata->password[ 0 ];
	$bid_id = $mydata->id[ 0 ];

    $action = 'login';
    $fields = array(

        'login_id' => $username,
        'password' => $password,

    );
	//////////////////////////////////////////////////
	
	$con = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $con, "utf8mb4" );
	
	$result = mysqli_query( $con, "SELECT * FROM users where login_id = '$username'" );
	$user_id = '';
	if ( mysqli_num_rows( $result ) > 0 ) {

		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
			$api_token = $row['remember_token'];
		}
	}
    $action = 'del_bid';
    $bid_ids = array($bid_id);
    $fields = array(
    	"app_id" => 155,
        'app_token' => "216875912",
        'app_user_id' => $user_id,
        'auction_data_id' => $bid_id,
        "api_token" => "pwM0rcVzZ9gA4rdOGgWz2gyRLebg84qN7cQRD0AfrzugWKwlNiQOns9N8QAt"

    );

    $response = api_call($action,$fields);
    echo json_encode($response);
}

function api_call($action,$fields=array()){

    $base_url = 'https://www.jjpurchase.com/api/';
    $url = $base_url.$action;
    foreach($fields as $key=>$value) { 
    	$fields_string .= $key.'='.$value.'&'; 
    }
    rtrim($fields_string, '&');
    //open connection
    $ch = curl_init();

    //set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_USERAGENT, "IAUC Extention");
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_POST, count($fields));
    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //execute post
    $result = curl_exec($ch);

    $result = json_decode($result);
	
    //close connection
    curl_close($ch);
    return $result;
}

function check_user_country_chassis($user_id,$jans_country,$type,$jans_bid_price,$carname)
{
	if($jans_country == 23 || $jans_country == 212  || $jans_country == 462 || $jans_bid_price == 'x'
	|| $jans_bid_price == 'X' || $user_id == 34 || $user_id == 339 || $user_id == 347 || $user_id == 39 || $user_id == 35 || $user_id == 371 || $user_id == 31
	|| $user_id == 368 || $user_id == 366 || $user_id == 224 || $user_id == 183 || $user_id == 74
	)
		return true;

	$type = preg_replace('/[^\00-\255]+/u', '', $type);

	//remove the car name if it exist with chassis code
	if (strpos($type, $carname) !== false) {
					// If it exists, remove it
					$type = str_replace($carname, "", $type);
				}
	/////////////


	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );

	$selectquery = "select * from user_select_chassis_per_country
										WHERE user_id = '$user_id' AND country_id = '$jans_country' AND
										type_name LIKE '$type%' AND 
										min is not null AND max is not null
										";

	$check_user_country_chassis = mysqli_query( $conn,$selectquery);
	
	

	if ( mysqli_num_rows( $check_user_country_chassis ) == 0 ) 
	{

		$error_country =  "Please set the avarage price for this Chasis code before bid";
		$response['error'] = $error_country;
		echo json_encode($response);
		exit();
		//return false;
	}
	else{
		while ( $row = mysqli_fetch_assoc( $check_user_country_chassis ) ) 
		{
			$min = $row[ 'min' ];
			$max = $row[ 'max' ];
			$ori_min = $min;
			$ori_max= $max;

		}
		if($jans_bid_price > 500)
		{
			if($min <= 5){
				$min = 5;
			}
			$min = $min*10000;
			$min = $min - 50000;
			$max = $max*10000;
			$max = $max + 50000;
		}
		else{
			$min = $min - 5;
			$max = $max + 5;
		}
		
		if( $jans_bid_price < $min || $jans_bid_price >$max)
		{
			$error_country =  "Your Bid Price is not In Your Range Min ".$ori_min." And Max ".$ori_max;

			$response['error'] = $error_country;
			echo json_encode($response);
			exit();
			//return false;
		}
		
	}

}


function update_data( $mydata ) {
	global $active_table;

	$id = $mydata->id[ 0 ];
	$jans_bid_price = $mydata->jans_bid_price[ 0 ];
	$remarks = $mydata->remarks[ 0 ];
	$username = $mydata->username[ 0 ];
	$password = $mydata->password[ 0 ];
	$jans_country = $mydata->jans_country[ 0 ];

	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	mysqli_set_charset( $conn, "utf8mb4" );

	$result = mysqli_query( $conn, "SELECT * FROM users where login_id = '$username'" );

	if ( mysqli_num_rows( $result ) > 0 ) {
		while ( $row = mysqli_fetch_assoc( $result ) ) {
			$user_id = $row[ 'id' ];
		}

		/*	SELECT ad.id, uf.login_id,ad.added_by,uf.user_id,ur.role_id,rc.role_id,rc.country_id,ad.purchase_country FROM $active_table  AS ad, roles_countries AS rc,users_roles AS ur, users_for_ext AS uf WHERE ad.id='$id' AND uf.login_id='$user_id' AND ad.added_by=uf.user_id AND ur.role_id=rc.role_id AND rc.country_id=ad.purchase_country
			*/
		$result = mysqli_query( $conn, "SELECT ad.start_price,ad.lot_no2,ad.auction_date,ad.id, ad.added_by,ur.role_id,rc.role_id,rc.country_id,ad.purchase_country,ad.type,ad.car_name
		FROM $active_table  AS ad, users_roles AS ur, roles_countries AS rc 
		WHERE rc.country_id=ad.purchase_country 
		AND ur.user_id='$user_id' 
		AND ur.role_id=rc.role_id AND ad.id='$id'" );

		if ( mysqli_num_rows( $result ) > 0 ) {
			$bid_detail = mysqli_fetch_assoc( $result );
			$type = $bid_detail['type'];
			$auction_date = $bid_detail['auction_date'];
			$lot_no = $bid_detail['lot_no2'];
			$carname = $bid_detail['car_name'];
			$start_price = $bid_detail['start_price'];

			$browser = $_SERVER['HTTP_USER_AGENT'];
			$ip = $_SERVER['REMOTE_ADDR'];
			$u_date = date('Y-m-d H:i:s');
			/////
			$get_sql = "SELECT * FROM $active_table where id = '$id' AND (in_process =1 OR shifted = 1)";
			$q_result = mysqli_query( $conn,$get_sql);
			if ( mysqli_num_rows( $q_result ) > 0 )
			{
				$error = 'Lot Number already transfered.You can not chnage the price';
				$response['error'] = $error;
				echo json_encode($response);
				return false;
			}
			/////////////
			
			if($jans_bid_price <= 500 && $jans_bid_price!='X' && $jans_bid_price!='x')
			{
				$jans_bid_price_plain = $jans_bid_price * 10000;
			}
			else
			$jans_bid_price_plain = $jans_bid_price;
			if($jans_bid_price_plain < $start_price && $jans_bid_price!='X' && $jans_bid_price!='x')
			{
				$error_country =  "Your Bid Price must be greater than start price ".$start_price;
				$response['error'] = $error_country;
				echo json_encode($response);
				return false;
			}

			/*$sql = mysqli_query( $conn, "UPDATE $active_table  SET bid_price='$jans_bid_price', remarks='$remarks', last_edit_by='$user_id', edit_by_browser='$browser', edit_by_ip = '$ip', updated_at = '$u_date',
			updated_from = 'dbonline' 
			WHERE id='$id'" );
			*/
			// $log_sql = "INSERT INTO auction_data_log 
			//             select * from auction_data where id = '$id'";
			// mysqli_query( $conn,$log_sql);
			$jpn_chk = 0;
			if($jans_bid_price == 'nashi' || $remarks == 'nashi')
			{
				$jans_bid_price = 99999999;
				$remarks = 'nashi';
				$jpn_chk  = 1;
			}
			
			check_user_country_chassis($user_id,$jans_country,$type,$jans_bid_price,$carname);

			$is_bid_nashi = mysqli_query( $conn, "SELECT * from $active_table WHERE deleted_at is null AND auction_date = '$auction_date' AND lot_no2 = '$lot_no' AND remarks = 'nashi'" );

			if ( mysqli_num_rows( $is_bid_nashi ) > 0 ) 
			{
				$error =  "BID on this lot number is blocked";
				$response['error'] = $error;
				echo json_encode($response);
				return false;

			}
			
			$sql = mysqli_query( $conn, "UPDATE $active_table  SET bid_price='$jans_bid_price', remarks='$remarks', 
							last_edit_by='$user_id', purchase_country='$jans_country', edit_by_browser='$browser', 
							edit_by_ip = '$ip', updated_at = '$u_date',
							updated_from = 'dbonline',added_by = '$user_id',japan_check = '$jpn_chk'
			WHERE id='$id'" );
			

		} else {
			$error = 'You are not allowed to alter this entry' . $id . " " . $user_id;
			$response['error'] = $error;
			echo json_encode($response);
			return false;
		}
	} else {
		$error = 'Sorry, username OR pwd is incorrect ' . $username;
		$response['error'] = $error;
		echo json_encode($response);
		return false;
	}

}



function get_bds_bid(){

	global $active_table;
	$conn = mysqli_connect($GLOBALS['db_host'], $GLOBALS['db_username'], $GLOBALS['db_password'], $GLOBALS['db_name'] );
	
	
	$action = $_POST["action"];
	$lot_no = $_POST['lotNumber'];
	$company = strtoupper($_POST['company']);
	// $date = $_POST['date'];
	//current date
	$date = date('Y-m-d');

	try {
		/////// check the company aucneo exixts or not ///////
		$sqlcmpy = "SELECT * FROM auction_companies where auction_company_name LIKE '%BDS_$company%'";
		$resultcmpy = mysqli_query($conn,$sqlcmpy) or die(mysqli_error());

		$response = array(); 
		$data = array(); 
		$response['status'] = 400;
		$response['data'] = 'Please Add the Company to Record!';
		if ( mysqli_num_rows( $resultcmpy ) > 0 ) {
			$company_info = mysqli_fetch_assoc( $resultcmpy );
			$company_id = $company_info['id'];
			$result = mysqli_query( $conn, "SELECT pdf.lot_no as lot_no, IF(ac.bid_price>500, ac.bid_price/10000, CAST(ac.bid_price AS UNSIGNED)) as bid_price,ac.remarks,ac.chassis_code,pdf.extra_price,u.login_id,REPLACE(hr.hr_name,' ','-') as country_name,LOWER(hr.css_class) as hr_name FROM auction_data as ac
								INNER JOIN users u ON u.id= ac.added_by
								INNER JOIN buying_team_pdf_data pdf ON pdf.auction_data_id= ac.id 
								INNER JOIN hr_level_detail hr ON ac.purchase_country = hr.id AND hr.hr_level_id = 2
									WHERE pdf.auction_date = '$date'
									AND pdf.lot_no = $lot_no
									AND pdf.auction_company_id = '$company_id'" );

			
			$response['status'] = 404;
			$response['data'] = 'No Data Found!';						
			if ( mysqli_num_rows( $result ) > 0 ) {
				while ( $row = mysqli_fetch_assoc( $result ) ) {
					$lot_no = $row['lot_no'];
					$data[$lot_no] = $row;
			}
			$response['status'] = 200;
			$response['data'] = $data;
			}
		} 
	} catch (\Throwable $th) {
		$response = array(); 
		$response['status'] = 404;
		$response['data'] = 'Somwthing Went Wrong!';
	}
	echo json_encode($response);
}





function save_purchased_price()
{
    $conn = mysqli_connect(
        $GLOBALS['db_host'],
        $GLOBALS['db_username'],
        $GLOBALS['db_password'],
        $GLOBALS['db_name']
    );

    $response = ['status' => 500, 'data' => 'Unknown error'];

    try {
        $data = json_decode($_POST["data"]);

        if (!$data || !is_array($data)) {
            echo json_encode(['status' => 400, 'data' => 'Invalid input data']);
            exit;
        }

        $today = date('Y-m-d');

        foreach ($data as $row) {
            // Validate date
            if ($row->date != $today) {
                echo json_encode([
                    'status' => 400,
                    'data' => "Invalid date ({$row->date}). Date should be today."
                ]);
                exit;
            }

            // Map company name → ID
            $company_id = get_auction_company_id($row->name);

            // Find matching record
            $sql = "SELECT ac.id 
                    FROM auction_data ac
                    INNER JOIN auction_data_extended ade ON ac.id = ade.auction_data_id
                    WHERE ac.company_name_id = '{$company_id}'
                      AND ac.lot_no2 = '{$row->lot_no}'
                      AND ac.auction_date = '{$row->date}'
                      AND ac.deleted_by = 0
                      LIMIT 1";

            $result = mysqli_query($conn, $sql);
            $db_row = mysqli_fetch_assoc($result);

            if ($db_row) {
                $auction_data_id = $db_row['id'];

                // Update sold price + status
                $update = "UPDATE auction_details 
                           SET auction_sold_price = '{$row->result}', 
                               auction_status = '{$row->status}'
                           WHERE auction_data_id = '{$auction_data_id}'";

                mysqli_query($conn, $update);
            }
        }

        $response = ['status' => 200, 'data' => 'Sold Prices Updated'];
    } catch (Throwable $th) {
        $response = [
            'status' => 500,
            'data' => 'Something Went Wrong!',
            'error' => $th->getMessage(),
        ];
    }

    header('Content-Type: application/json');
    echo json_encode($response);
}


?>