<?php
require_once('config.php');
require_once('utility_image.php');
require_once('f_resize_imagepath.php');

$error_message;
$valid = true;
$json_return = array();
$counter = 0;

$site_cd 	= $_REQUEST['site_cd'];
$wko_det_assign_to 	= $_REQUEST['wko_det_assign_to'];

$MobileURL = $_REQUEST['url'];
$Folder = $_REQUEST['folder'];
$dvc_id = $_REQUEST['dvc_id'];
$LOGINID = $_REQUEST['LOGINID'];

$uploaddir = "C:\\wamp64\\www\\".$Folder."\\mobile_image_temp\\temp_".$LOGINID."_".$dvc_id."\\";

	if (!is_dir($uploaddir)) {
		mkdir($uploaddir, 0777, true);
		mkdir($uploaddir."\\thumbnail\\", 0777, true);
	}

$MobileURLFullSize = $MobileURL . "/mobile_image_temp/temp_".$LOGINID."_".$dvc_id."/";
$MobileURLTnSize = $MobileURL . "/mobile_image_temp/temp_".$LOGINID."_".$dvc_id."/thumbnail/";

$exportdir = "C:\\wamp64\\www\\". $Folder ."\\mobile_image_temp\\temp_".$LOGINID."_".$dvc_id."\\";
$exportdirtn = "C:\\wamp64\\www\\". $Folder ."\\mobile_image_temp\\temp_".$LOGINID."_".$dvc_id."\\thumbnail\\";

$sql = "SELECT  wko_isp_ref.site_cd,
				wko_isp_ref.RowID, 
				wko_isp_ref.mst_RowID, 
				wko_isp_ref.attachment, 
				wko_isp_ref.file_name,
				wko_isp_ref.column2,
				wko_isp_ref.audit_date,
				wko_isp_ref.wko_isp_ref_stp_RowID
				
		FROM 	wko_mst (NOLOCK)  
		
		INNER 
		JOIN 	wko_det (NOLOCK)
		ON		wko_mst.site_cd = wko_det.site_cd
		AND		wko_mst.rowid = wko_det.mst_rowid
		
		
		
		INNER 
		JOIN 	wko_isp (NOLOCK)
		ON		wko_mst.site_cd = wko_isp.site_cd
		AND		wko_mst.rowid = wko_isp.mst_rowid	

		INNER 
		JOIN 	wko_isp_ref (NOLOCK)
		ON		wko_isp.site_cd = wko_isp_ref.site_cd
		AND		wko_isp.RowID = wko_isp_ref.mst_rowid	
		
		LEFT 
		OUTER 
		JOIN	ast_mst ast_mst_check(NOLOCK)
		ON		wko_isp.site_cd = ast_mst_check.site_cd
		AND		wko_isp.wko_isp_asset_no = ast_mst_check.ast_mst_asset_no
		
		
		INNER JOIN	wrk_sts (NOLOCK)
		ON		wko_mst.site_cd = wrk_sts.site_cd
		AND		wko_mst.wko_mst_status = wrk_sts.wrk_sts_status
				
		LEFT 
		OUTER 
		JOIN	ast_mst (NOLOCK)
		ON		wko_mst.site_cd = ast_mst.site_cd
		AND		wko_mst.wko_mst_assetno = ast_mst.ast_mst_asset_no
		
		WHERE	wko_mst.site_cd = '".$site_cd."' 
		AND 	wko_det.wko_det_assign_to = '".$wko_det_assign_to."'  
		AND 	wrk_sts_typ_cd NOT IN ('CLOSE', 'COMPLETE', 'FORCE-CLOSE', 'CANCEL')";

$stmt = sqlsrv_query($conn, $sql);
//echo  $sql;
if (!$stmt) {
     $error_message = "Error selecting table (wko_isp_ref)";
	 returnError($error_message);
     die(print_r(sqlsrv_errors(), true));
}

$mime = null;
$json_img_link = array();
$rowCount = 0;


do {
    while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
		 
		 
		$Photo 		= $row['attachment'];
		$fileName 	= $row['file_name'];
		$rowid 		= $row['RowID'];
		$mst_RowID 	= $row['mst_RowID'];
		$column2 	= $row['column2'];
		$audit_date = $row['audit_date'];
		$site_cd 	= $row['site_cd'];
		$wko_isp_ref_stp_RowID = $row['wko_isp_ref_stp_RowID'];

		// Select file type
		$extension = strtolower(pathinfo($fileName,PATHINFO_EXTENSION));
		// Valid file extensions
		$extensions_arr = array("mp4","avi","3gp","mov","mpeg");
		
		if( in_array($extension,$extensions_arr) ){
				 
			$exportFullPathFileName = $exportdir.$fileName;
			$exportFullPathTNFileName = $exportdirtn.$fileName;
				  
			$publicFullPathFileName = $MobileURLFullSize.$fileName;		  
			$publicFullPathTNFileName = $MobileURLTnSize.$fileName;
				
			if (!file_exists($exportFullPathFileName)) {
				// If the full-size file does not exist, write the file
				writeFile($exportFullPathFileName, $Photo);
			}				
				
			$json_img_link['site_cd'] = $site_cd;
			$json_img_link['rowid'] = $rowid;
			$json_img_link['mst_RowID'] = $mst_RowID;
			$json_img_link['type'] = 'video';
			$json_img_link['file_name'] = $fileName;
			$json_img_link['thumbnail_link'] = $publicFullPathTNFileName;
			$json_img_link['full_size_link'] = $publicFullPathFileName;
			$json_img_link['file_source'] = 'server';
			$json_img_link['column2'] = $column2;
			$json_img_link['audit_date'] = $audit_date;
			$json_img_link['wko_isp_ref_stp_RowID'] = $wko_isp_ref_stp_RowID;
			array_push($json_return, $json_img_link);
				 
		}else{
				 
				  
			if (strpos($fileName, 'pdf') !== false){	
			
				$exportFullPathFileName = $exportdir.$fileName;
				$exportFullPathTNFileName = $exportdirtn.$fileName;
					 
				$publicFullPathFileName = $MobileURLFullSize.$fileName;		  
				$publicFullPathTNFileName = $MobileURLTnSize.$fileName;
				
				if (!file_exists($exportFullPathFileName)) {
					// If the full-size file does not exist, write the file
					writeFile($exportFullPathFileName, $Photo);
				}
				
				// echo $publicFullPathFileName;
				$json_img_link['site_cd'] = $site_cd;
				$json_img_link['rowid'] = $rowid;
				$json_img_link['mst_RowID'] = $mst_RowID;
				$json_img_link['type'] = 'PDF';
				$json_img_link['file_name'] = $fileName;
				$json_img_link['thumbnail_link'] = $publicFullPathTNFileName;
				$json_img_link['full_size_link'] = $publicFullPathFileName;
				$json_img_link['file_source'] = 'server';
				$json_img_link['column2'] = $column2;
				$json_img_link['audit_date'] = $audit_date;
				$json_img_link['wko_isp_ref_stp_RowID'] = $wko_isp_ref_stp_RowID;
				array_push($json_return, $json_img_link);
				
			}else if (strpos($fileName, 'docx') == true){	
			
			}else{
				
				$file_name = generateUniqueName($fileName,$rowid);
				
				$exportFullPathFileName = $exportdir.$file_name;
				$exportFullPathTNFileName = $exportdirtn.$file_name;
					 
				$publicFullPathFileName = $MobileURLFullSize.$file_name;		  
				$publicFullPathTNFileName = $MobileURLTnSize.$file_name;
				
				if (!file_exists($exportFullPathFileName)) {
					// If the full-size file does not exist, write the file
					writeFile($exportFullPathFileName, $Photo);
				}

				if (!file_exists($exportFullPathTNFileName)) {
					// If the thumbnail does not exist, resize and write the thumbnail
					resizeImageImagick($Photo, $exportFullPathTNFileName);
				} 

				
				$json_img_link['site_cd'] = $site_cd;
				$json_img_link['rowid'] = $rowid;
				$json_img_link['mst_RowID'] = $mst_RowID;
				$json_img_link['type'] = 'image';
				$json_img_link['file_name'] = $fileName;
				$json_img_link['thumbnail_link'] = $publicFullPathTNFileName;
				$json_img_link['full_size_link'] = $publicFullPathFileName;
				$json_img_link['file_source'] = 'server';
				$json_img_link['column2'] = $column2;
				$json_img_link['audit_date'] = $audit_date;
				$json_img_link['wko_isp_ref_stp_RowID'] = $wko_isp_ref_stp_RowID;
				array_push($json_return, $json_img_link);
				
			}
				  
			
		}
		 
          

     }
} while (sqlsrv_next_result($stmt));
sqlsrv_free_stmt($stmt);
sqlsrv_close( $conn);



function generateUniqueName($file_name,$image_count) {
	
    $unique_name = "CMMS_IMAGE_" . $image_count . ".jpg";
    return $unique_name;
}



if( $stmt ) {
	 
	
	 returnData($json_return);
			 
} else {
	 sqlsrv_rollback( $conn );
	 $error_message = "Transaction rolled back.<br />";
	 returnError($error_message);
} 

function returnData($json){
	$returnData = array(
	'status' => 'SUCCESS',
	'message' => 'Work Order Attachment Retrieve Successfully',
	'data' => $json);
	
	echo json_encode($returnData);
	exit();
}

function returnError($error_message){
	$json = array();
	
	$returnData = array(
	'status' => 'ERROR',
	'message' => $error_message,
	'data' => $json);
	
	echo json_encode($returnData);
	exit();
}

?>