<?php 
require_once("connect.php");
$return=array("request"=>"");
$esc=esc_all($_GET);
//echo $_SERVER["QUERY_STRING"]."<br>";

//print_r($esc); 

function img_url($id,$img){
	return "http://api.pinpoint.promo/products/image/".$id."/".urlencode(urlencode(urlencode($img)));
}
function images_url($id, $name, $files) {
	$r = array();
	if ($files && count($files) > 0) {
		for ($i = 0; $i < count($files); $i++) {
			array_push($r, "http://images.pinpoint.promo/" . $id . "/" . str_replace(" ", "-", str_replace("  ", " ", preg_replace("/[^\w- ]+/", "", strtolower($name)))) . "-" . ($i + 1) . "." . pathinfo($files[$i])["extension"]);
		}
	}
	return $r;
}
function thumbs_url($id, $name, $files) {
	$r = array();
	if ($files && count($files) > 0) {
		for ($i = 0; $i < count($files); $i++) {
			array_push($r, "http://images.pinpoint.promo/" . $id . "/t-" . str_replace(" ", "-", str_replace("  ", " ", preg_replace("/[^\w- ]+/", "", strtolower($name)))) . "-" . ($i + 1) . "." . pathinfo($files[$i])["extension"]);
		}
	}
	return $r;
}
function dl_url($id,$dl){
	return "http://api.pinpoint.promo/products/download/".$id."/".$dl;
}
function download_links($id){
	$links=array();
	$prod_dir=glob($_SERVER["DOCUMENT_ROOT"]."/admin/products/all/".$id." -*",GLOB_ONLYDIR);
	if(array_key_exists(0,$prod_dir)){
		$downloads=glob($prod_dir[0]."/[dD][oO][wW][nN][lL][oO][aA][dD][sS]");
		//usort($files,function($a,$b){return filemtime($b)-filemtime($a);});
		if(array_key_exists(0,$downloads)){
			$files=glob($downloads[0]."/*");
		}
	}
	if($files){foreach($files as $f){
		array_push($links, dl_url($id,pathinfo($f)["basename"]));
	}}
	return $links;
}
function template_links($id){
	$links=array();
	$prod_dir=glob($_SERVER["DOCUMENT_ROOT"]."/newcrm/public/admin/products/all/".$id." -*",GLOB_ONLYDIR);
	if(array_key_exists(0,$prod_dir)){
		$files=glob($prod_dir[0]."/*.pdf");
	}
	if($files){foreach($files as $f){
		array_push($links, dl_url($id,pathinfo($f)["basename"]));
	}}
	return $links;
}

function make_params($allCat){
	for($i=0;$i<count($allCat);$i++){
		$allCat[$i] = str_replace('-',' ',$allCat[$i]);
		$var.= $allCat[$i].'|';
	}
	$var = rtrim($var,'|');
	return $var;
}

if(!empty($_GET["list"])){
	$return["request"]="list all";
	$return["request_parameter"]=$esc["list"];
	$sql="SELECT category FROM `product-list` WHERE active='1'";
	$result=mysqli_query($con,$sql) or die(mysqli_error($con));
	if(!$result){$return["error"]="500";$return["message"]="Server connection failed.";}
	else if(mysqli_num_rows($result)==0){$return["error"]="000";$return["message"]="No results found, check request.";}
	else if($result){
		$return["response"]=array();
		while($row = mysqli_fetch_assoc($result)){
			if($row["category"]){
				foreach(explode("~",$row["category"]) as $cat){
					$cat =strtolower($cat);
					$cat = ucwords($cat);
					if(!in_array($cat,$return["response"])){array_push($return["response"],$cat);}
				}
			}
		}
		asort($return["response"]);
	}
	echo json_encode($return);
	exit;
}

else if(!empty($_GET["prod"]) && !empty($_GET["pricelist"])){
	$return["request"]="product alternate prices";
	$return["request_parameter"]=$esc["prod"] . " - " . $esc["pricelist"];
	//echo "product<br>";
	$prod=$esc["prod"];
	$sql_where=" WHERE reference LIKE '".$prod."'";
	if(ctype_digit($prod)){
		$return["request"]="product by id";
		$prod=(int)$prod;
		$sql_where=" WHERE id='".$prod."'";
	}
	$sql="SELECT id,name,reference".(!empty($_GET["auth"]) && $_GET["auth"]=="1"?",`pricelist`,`types`,`quantity`,`sell-price`,`tool-charge`,`carton-charge`,`extras`,`extras-cost`,`extras-setup`,`extra-name`,`extra-unit-type`,`extra-unit`,`extra-setup-type`,`extra-setup`":"")." FROM `product-list`".$sql_where." AND active='1'";
}
else if(!empty($_GET["prod"])){
	$return["request"]="product by reference";
	$return["request_parameter"]=$esc["prod"];
	//echo "product<br>";
	$prod=$esc["prod"];
	$sql_where=" WHERE reference LIKE '".$prod."'";
	if(ctype_digit($prod)){
		$return["request"]="product by id";
		$prod=(int)$prod;
		$sql_where=" WHERE id='".$prod."'";
	}
	$generate_links=(!empty($_GET["auth"]) && $_GET["auth"]=="1"?true:false);
	$sql="SELECT id,name,reference,category,img,description,`web-keyfeatures`,spec,`spec-label`,colors".(!empty($_GET["auth"]) && $_GET["auth"]=="1"?",`pricelist`,`types`,`quantity`,`sell-price`,`tool-charge`,`carton-charge`,`extras`,`extras-cost`,`extras-setup`,`extra-name`,`extra-unit-type`,`extra-unit`,`extra-setup-type`,`extra-setup`":"")." FROM `product-list`".$sql_where." AND active='1'";
}
else if(!empty($_GET["cat"])){
	$return["request"]="products by category";
	$return["request_parameter"]=$esc["cat"];
	//echo "category<br>";
	$cat=str_replace("-","%",$esc["cat"]);
	$sql="SELECT id,name,reference,category,img,`web-order` FROM `product-list` WHERE category LIKE '%".$cat."%' AND active='1'";
}
else if(!empty($_GET["catt"])){
	if($_GET["page"] ==1){
		$num =1;
	}else{
		$num = (12*$_GET["page"])-1;
	}
	$return["request"]="products by categories";
	$allCat =explode("_",$esc["catt"]);
	$var = '';
	if(count($allCat) > 0){
		$var = make_params($allCat);
		$return["request_parameter"]=$var;
		$sql="SELECT id,name,reference,category,img,`web-order` FROM `product-list` WHERE category REGEXP'($var)' LIMIT $num,12";
	}else{
		$sql = '';
		$return["error"]="000";$return["message"]="No results found, check request.";
	}
	
}
else if(!empty($_GET["others"])){
	if($_GET["page"] ==1){
		$num =1;
	}else{
		$num = (12*$_GET["page"])-1;
	}
	$return["request"]="products by other categories";
	$allCat =explode("_",$esc["others"]);
	$var = '';
	if(count($allCat) > 0){
		$var = make_params($allCat);
		$return["request_parameter"]=$var;
		$sql="SELECT id,name,reference,category,img,`web-order` FROM `product-list` WHERE `web-keyfeatures` REGEXP'($var)' LIMIT $num,12";
	}else{
		$sql = '';
		$return["error"]="000";$return["message"]="No results found, check request.";
	}
}
else if(!empty($_GET["search"])){
	$return["request"]="products by search";
	$return["request_parameter"]=$esc["search"];
	//echo "category<br>";
	$search=str_replace("-","%",$esc["search"]);
	$sql="SELECT id,name,reference,category,tags,img,`web-order` FROM `product-list` WHERE (name LIKE '%".$search."%' OR reference LIKE '%".$search."%' OR category LIKE '%".$search."%' OR tags LIKE '%".$search."%') AND active='1'";
	
}
else if(!empty($_GET["id"]) && !empty($_GET["file"])){
	
	$http_origin = $_SERVER['HTTP_ORIGIN'];

	if ($http_origin == "http://www.pinpoint.promo" || $http_origin == "http://onpoint.pinpoint.promo")
	{  
		header("Access-Control-Allow-Origin: $http_origin");
	}

	//header('Access-Control-Allow-Origin: http://www.pinpoint.promo');
	//header("Content-type: ".mime_content_type($esc["file"]));
	header('Content-Type: application/octet-stream');
	header("Content-Disposition: attachment");
	//header('Content-Length: '.filesize($esc["file"]));
	$return["request"]="product download by id + url";
	$return["request_parameter"]=array("id"=>$esc["id"],"file"=>$esc["file"]);
	$file_dir=glob("./".$esc["id"]." - *",GLOB_ONLYDIR);
	if(array_key_exists(0,$file_dir)){
		//var_dump($_SERVER["QUERY_STRING"]);
		//echo $_GET["img"];echo "<br>";
		//var_dump($file_dir);echo "<br>";
		$file_file=glob($file_dir[0]."/[dD][oO][wW][nN][lL][oO][aA][dD][sS]/".$esc["file"]);
		usort($file_file,function($a,$b){return filemtime($b)-filemtime($a);});
		//var_dump($file_file);echo "<br>";
		if($file_file[0]) readfile($file_file[0]);
		else{
			$file_file=glob($file_dir[0]."/".$esc["file"]);
			usort($file_file,function($a,$b){return filemtime($b)-filemtime($a);});
			//var_dump($file_file);echo "<br>";
			if($file_file[0]) readfile($file_file[0]);
		}
		exit;
	}
}
else if(!empty($_GET["id"]) && !empty($_GET["img"])){
	//error_reporting(E_ALL);
	//ini_set('display_errors', 'On');
	//echo $esc["id"];exit;
	$return["request"]="product image by id + url";
	$return["request_parameter"]=array("id"=>$esc["id"],"img"=>$esc["img"]);
   $img_dir=glob("./".$esc["id"]." - *",GLOB_ONLYDIR);
	// print_r($img_dir);exit;
	if(array_key_exists(0,$img_dir)){
		//var_dump($_SERVER["QUERY_STRING"]);
		//echo $_GET["img"];echo "<br>";
		//var_dump($img_dir);echo "<br>";
		//echo "size: ".$esc["size"]."<br>";
		$img_file=glob($img_dir[0]."/".$esc["img"]);
		usort($img_file,function($a,$b){return filemtime($b)-filemtime($a);});
		//var_dump($img_file);echo "<br>";
		require_once("./serve-image.php");
		serveimage($img_file[0],$esc["size"]);
		exit;
	}
}
else if(!empty($_GET["imgref"])){
	$return["request"]="product image by reference";
	$return["request_parameter"]=$esc["imgref"];
	$sql="SELECT id,reference,img FROM `product-list` WHERE reference LIKE '".$esc["imgref"]."' AND active='1'";
	$result=mysqli_query($con,$sql) or die(mysqli_error($con));
	if(!$result){$return["error"]="500";$return["message"]="Server connection failed.";}
	else if(mysqli_num_rows($result)==0){$return["error"]="000";$return["message"]="No results found, check request.";}
	else if($result){
		$return["response"]=array();
		while($row = mysqli_fetch_assoc($result)){
			if($row["img"]){
				$img_dir=glob("./".$row["id"]." - *",GLOB_ONLYDIR);
				if(array_key_exists(0,$img_dir)){
					$img_file=glob($img_dir[0]."/".$row["img"]);
					usort($img_file,function($a,$b){return filemtime($b)-filemtime($a);});
					require_once("./serve-image.php");
					serveimage($img_file[0],$esc["size"]);
				}
			}
		}
	}
	exit;
}
else if(count($_GET)==0){
	$return["request"]="all products1";
	//echo "all products<br>";
	$sql="SELECT id,name,reference,category,img,`web-keyfeatures` FROM `product-list` WHERE active='1'";
}

else if(!empty($_GET["home"])){
	$arr = ['1','2','3','4'];
	if($_GET['home'] == 'popular'){
		$return["request"]="Popular products";
		$sql="SELECT id,name,reference,category,img FROM `product-list` WHERE `web-popular-prod-order` != 0 ORDER BY `web-popular-prod-order` ASC";
	}else if($_GET['home']== 'new'){
		$return["request"]="New products";
		$sql="SELECT id,name,reference,category,img FROM `product-list` WHERE `web-new-prod-order` != 0 ORDER BY `web-new-prod-order` ASC";
	}
	
}
else if(!empty($_GET["sort"])){
	if($_GET["page"] ==1){
		$num =1;
	}else{
		$num = (12*$_GET["page"])-1;
	}
	$return["request"]="products by sorting";
	$return["request_parameter"]=$esc["sort"];
	if($esc["sort"] == 'A-Z'){
		$sql="SELECT id,name,reference,category,img FROM `product-list` ORDER BY `name` ASC LIMIT $num,12";
	}else if($esc["sort"] == 'Z-A'){
		$sql="SELECT id,name,reference,category,img FROM `product-list` ORDER BY `name` DESC LIMIT $num,12";
	}else if($esc["sort"] == 'new'){

	}else if($esc["sort"] == 'popular'){

	}
}
else if(!empty($_GET["leadtime"])){
	if($_GET["page"] ==1){
		$num =1;
	}else{
		$num = (12*$_GET["page"])-1;
	}
	$tempArr = array();
	$return["request"]="products by lead time";
	$return["request_parameter"]=$esc["leadtime"];
	$allLeadTime =explode("_",$esc["leadtime"]);
	$temp = 0;
	for($k=0;$k<=count($allLeadTime);$k++){
		if($allLeadTime[$k] == '1-10'){
			$temp = 1;
		 }
		 else{
			 array_push($tempArr , (7*$allLeadTime[$k]));
		 }
	}
	$var = '';
	if(count($tempArr) > 0){
		$var = make_params($tempArr);
		if($temp == 1){
			$sql="SELECT id,name,reference,category,img FROM `product-list` WHERE `web-leadtime` >= 1 AND `web-leadtime` <=10 OR `web-leadtime` REGEXP'($var)' LIMIT $num,12";
		}else{
			$sql="SELECT id,name,reference,category,img FROM `product-list` WHERE `web-leadtime` REGEXP'($var)' LIMIT $num,12";
		}
	}else{
			$sql = '';
			$return["error"]="000";$return["message"]="No results found, check request.";
	}
	
}
// else if(!empty($_GET["moq"])){
// 	$return["request"]="products by moq range";
// 	$return["request_parameter"]=$esc["moq"];
// 	$range = explode('-',$esc["moq"]);
// 	$match = '~moq~';
// 	$tempArr = array();
// 	$sql="SELECT `id`,`spec`,`spec-label` AS label FROM `product-list` WHERE `spec` like '%".$match."%' ";
// 	$result=mysqli_query($con,$sql) or die(mysqli_error($con));
// 	if(!$result){$return["error"]="500";$return["message"]="Server connection failed.";}
// 	else if(mysqli_num_rows($result)==0){$return["error"]="000";$return["message"]="No results found, check request.";}
// 	else if($result){
// 		$return["response"]=array();
// 		while($row = mysqli_fetch_assoc($result)){
// 			$spec = explode('~',$row["spec"]);
// 			$key = array_search('MOQ', $spec); 
// 			$spec_label = explode('~',$row["label"]);
// 			if($spec_label[$key] >=$range[0] && $spec_label[$key] <=$range[1]){
// 				array_push($tempArr,$row['id']);
// 			}
			
// 		}
// 	}
//     if(count($tempArr) > 0){
// 		$var = make_params($tempArr);
// 	    $sql="SELECT id,name,reference,category,img FROM `product-list` WHERE `id` REGEXP'($var)'";
// 	}else{
// 		$sql="";
// 	}
// }
else if(!empty($_GET["budget"])){
	if($_GET["page"] ==1){
		$num =1;
	}else{
		$num = (12*$_GET["page"])-1;
	}
	$tempArr= array();
	$return["request"]="products by budget range";
	$return["request_parameter"]='MOQ: '.$esc["moq"].'&Budget: '.$esc["budget"];
	$moqFilter = explode('-',$esc["moq"]);
	$budgetFilter = explode('-',$esc["budget"]);
	$sql = "SELECT `id`,`quantity`,`ship-cost` AS cost FROM `product-list`";
	$result=mysqli_query($con,$sql) or die(mysqli_error($con));
    if(!$result){$return["error"]="500";$return["message"]="Server connection failed.";}
	else if(mysqli_num_rows($result)==0){$return["error"]="000";$return["message"]="No results found, check request.";}
	else if($result){
		$return["response"]=array();
		while($row = mysqli_fetch_assoc($result)){
			$qty = explode(':',$row["quantity"]);
			for($i=0;$i<count($qty);$i++){
				if($qty[$i] >=$moqFilter[0] && $qty[$i] <= $moqFilter[1]){
					if(!(in_array($row['id'] ,$tempArr ))){
						array_push($tempArr,$row['id']);
					}
			     }
			}
		}
	}
	if(count($tempArr) > 0){
				$var = make_params($tempArr);
				$sql="SELECT `id`,`quantity`,`ship-cost` AS cost FROM `product-list` WHERE `id` REGEXP'($var)'";
				$result=mysqli_query($con,$sql) or die(mysqli_error($con));
    			if(!$result){$return["error"]="500";$return["message"]="Server connection failed.";}
				else if(mysqli_num_rows($result)==0){$return["error"]="000";$return["message"]="No results found, check request.";}
				else if($result){
					$tempArr = [];
					$return["response"]=array();
					while($row = mysqli_fetch_assoc($result)){
						$cst = explode(':',$row["cost"]);
						for($i=0;$i<count($cst);$i++){
							if($cst[$i] >=$budgetFilter[0] && $cst[$i] <= $budgetFilter[1]){
								if(!(in_array($row['id'] ,$tempArr))){
									array_push($tempArr,$row['id']);
								}
							 }
						}
					}
				}
				if(count($tempArr) > 0){
					$var = make_params($tempArr);
					$sql="SELECT id,name,reference,category,img FROM `product-list` WHERE `id` REGEXP'($var)' LIMIT $num,12";
				}else{
					$sql = '';
					$return["error"]="000";$return["message"]="No results found, check request.";
				}
				
	}else{
		     $sql = '';
			 $return["error"]="000";$return["message"]="No results found, check request.";
	}
	
	
}


if($con && strlen($sql)>5){
	//echo $sql." ORDER BY name ASC"."<br>";
	$printed=[];
	$result=mysqli_query($con,$sql) or die(mysqli_error($con));
	if(!$result){$return["error"]="500";$return["message"]="Server connection failed.";}
	else if(mysqli_num_rows($result)==0){$return["error"]="000";$return["message"]="No results found, check request.";}
	else if($result){
		$return["response"]=array();
		while($row = mysqli_fetch_assoc($result)){
			
			// hardcode - if one of duped products for seperate pricelist, find by name then add types and prices to 'merge' property
			$hasDupe=array("SEB","HEB","MRB","PWEB");
			if ($esc["pricelist"] && array_search($row["reference"], $hasDupe) !== false) {
				$merge_sql="SELECT name, reference, pricelist, quantity, types, `sell-price`, `tool-charge`, `carton-charge` FROM `product-list` WHERE name='{$row["name"]}' ";
				$merge_res=mysqli_query($con,$merge_sql);
				if($merge_res){
					while($merge_row = mysqli_fetch_assoc($merge_res)){
						$row["isDupe"]="inWhile";
						if($merge_row["sell-price"]){
							$pl_i=array_search($esc["pricelist"]?strtolower($esc["pricelist"]):"pinpoint",explode("~",strtolower($merge_row["pricelist"])));
							if (!$pl_i) $pl_i=array_search("Pinpoint",explode("~",$merge_row["pricelist"]));
							if (!$pl_i) $pl_i=0;
							$merge_row["this-pricelist"]=explode("~",$merge_row["pricelist"])[$pl_i];
							if($pl_i!==false){
								$merge_row["quantity"]=explode("!",$merge_row["quantity"])[$pl_i];
								$merge_row["sell-price"]=explode("!",$merge_row["sell-price"])[$pl_i];
								$merge_row["tool-charge"]=explode("!",$merge_row["tool-charge"])[$pl_i];
								$merge_row["carton-charge"]=explode("!",$merge_row["carton-charge"])[$pl_i];
								$merge_row["prices"]=[];
								$type_i=0;
								foreach(explode("~",$merge_row["types"]) as $type){
									$merge_row["prices"][$type]=["main"=>[]];
									$quan_i=0;
									foreach(explode(":",explode("~",$merge_row["quantity"])[$type_i]) as $quan) {
										$merge_row["prices"][$type]["main"][$quan] = explode(":",explode("~",$merge_row["sell-price"])[$type_i])[$quan_i];
										$quan_i++;
									}
									$merge_row["prices"][$type]["setup"]=explode(":",explode("~",$merge_row["tool-charge"])[$type_i]);
									$merge_row["prices"][$type]["carriage"]=explode(":",explode("~",$merge_row["carton-charge"])[$type_i]);
									$type_i++;
								}
								unset($merge_row["types"]);
								unset($merge_row["pricelist"]);
								unset($merge_row["quantity"]);
								unset($merge_row["sell-price"]);
								unset($merge_row["tool-charge"]);
								unset($merge_row["carton-charge"]);
							}
						}
						$row["merge"]=$merge_row;
					}
				}
			}
			
			if(!empty($_GET["cat"])){
				foreach(explode("~",$row["category"]) as $i=>$c){
					if(fnmatch(str_replace("-","*",$esc["cat"]),strtolower($c))){
						$row["web-order"]=explode("~",$row["web-order"])[$i];
					}
				}
			}
			
			if(!in_array(str_replace(" ","",strtolower($row["name"])),$printed)){
				
				array_push($printed,str_replace(" ","",strtolower($row["name"])));
				
				if($row["img"]) $row["img"]=img_url($row["id"],$row["img"]);
				// gallery images
				$product_dir = glob("./" . $row["id"] . " - *", GLOB_ONLYDIR);
				
				if (array_key_exists(0, $product_dir)) {
					$image_files = glob($product_dir[0] . "/images/*.{jpeg,jpg,png,gif}", GLOB_BRACE);
					if(empty($image_files)){
						$image_files = glob($product_dir[0] . "/*.{jpeg,jpg,png,gif}", GLOB_BRACE);

					}
					//print_r($image_files) ;exit;
					usort($image_files, function ($a, $b) {
						$a = pathinfo($a)["filename"];
						$b = pathinfo($b)["filename"];
						return (is_numeric($a) && is_numeric($b) ? $a - $b : strcmp($a, $b));
					});
					
					$row["images"] = images_url($row["id"], $row["name"], $image_files);
					
					$row["images-thumbs"] = thumbs_url($row["id"], $row["name"], $image_files);
				}
				//$return["id5"]=$row["id"];
				if($row["spec"] && $row["spec-label"]){
					$row["spec"]=explode("~",$row["spec"]);$row["spec-label"]=explode("~",$row["spec-label"]);
					$temp_spec=array();
					$i=0;
					foreach($row["spec"] as $spec_name){
						array_push($temp_spec,array("name"=>$spec_name,"value"=>$row["spec-label"][$i]));
						$i++;
					}
					if(count($temp_spec)==count($row["spec"])){
						$row["spec"]=$temp_spec;
						unset($row["spec-label"]);
					}
				}
				if($row["colors"]){
					$row["colors"]=json_decode($row["colors"]);
					if(is_string($row["colors"])) $row["colors"]=json_decode($row["colors"]);
				}
				if($generate_links){
					$row["downloads"]=download_links($row["id"]);
					$row["templates"]=template_links($row["id"]);
				}
				
				//format prices if exists
				if(isset($_GET["auth"])) $row["auth"]=$_GET["auth"];
				if($row["sell-price"]){
					$pl_i=array_search($esc["pricelist"]?strtolower($esc["pricelist"]):"pinpoint",explode("~",strtolower($row["pricelist"])));
					if (!$pl_i) $pl_i=array_search("Pinpoint",explode("~",$row["pricelist"]));
					if (!$pl_i) $pl_i=0;
					$row["this-pricelist"]=explode("~",$row["pricelist"])[$pl_i];
					if($pl_i!==false){
						$row["quantity"]=explode("!",$row["quantity"])[$pl_i];
						$row["sell-price"]=explode("!",$row["sell-price"])[$pl_i];
						$row["tool-charge"]=explode("!",$row["tool-charge"])[$pl_i];
						$row["carton-charge"]=explode("!",$row["carton-charge"])[$pl_i];
						//$row["extras-cost"]=explode(":",$row["extras-cost"])[$pl_i];
						//$row["extras-setup"]=explode(":",$row["extras-setup"])[$pl_i];
						$row["prices"]=[];
						$row["extra"]=[];
						$type_i=0;
						foreach(explode("~",$row["types"]) as $type){
							$row["prices"][$type]=["main"=>[]];
							$quan_i=0;
							foreach(explode(":",explode("~",$row["quantity"])[$type_i]) as $quan) {
								$row["prices"][$type]["main"][$quan] = explode(":",explode("~",$row["sell-price"])[$type_i])[$quan_i];
								$extras_i=0;
								if($row["extras"]){
									$row["prices"][$type]["extras"]=[];
									foreach(explode("~",$row["extras"]) as $extras){
										$row["prices"][$pl][$type]["extras"][$extras]=[
											"main"=>explode("|",explode("!",explode(":",explode("~",$row["extras-cost"])[$extras_i])[$pl_i])[$type_i]),
											"setup"=>explode("!",explode(":",explode("~",$row["extras-setup"])[$extras_i])[$pl_i])[$type_i]
										];
										$extras_i++;
									}
								}
								$quan_i++;
							}
							$row["prices"][$type]["setup"]=explode(":",explode("~",$row["tool-charge"])[$type_i]);
							$row["prices"][$type]["carriage"]=explode(":",explode("~",$row["carton-charge"])[$type_i]);
							$type_i++;
						}
						$extra_i=0;
						foreach(explode("~",$row["extra-name"]) as $extra_name){if($extra_name){
							array_push($row["extra"],[
								"name"=>$extra_name,
								"unit"=>explode("~",$row["extra-unit"])[$extra_i],
								"unit-type"=>explode("~",$row["extra-unit-type"])[$extra_i],
								"setup"=>explode("~",$row["extra-setup"])[$extra_i],
								"setup-type"=>explode("~",$row["extra-setup-type"])[$extra_i]
							]);
							$extra_i++;
						}}
						unset($row["types"]);
						unset($row["pricelist"]);
						unset($row["quantity"]);
						unset($row["sell-price"]);
						unset($row["tool-charge"]);
						unset($row["carton-charge"]);
						unset($row["extras"]);
						unset($row["extras-cost"]);
						unset($row["extras-setup"]);
						unset($row["extra-name"]);
						unset($row["extra-unit"]);
						unset($row["extra-unit-type"]);
						unset($row["extra-setup"]);
						unset($row["extra-setup-type"]);
					}
				}
				
				array_push($return["response"],$row);
			}
		}
	}
}
 

//echo "<br>response:<br>";
echo json_encode($return);
?>