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

$error_message;
$valid = true;
$counter = 0;

$site_cd = $_REQUEST['site_cd'];
$mst_RowID = $_REQUEST['mst_RowID'];
$wko_isp_asset_no = $_REQUEST['wko_isp_asset_no'];
$dvc_id = $_REQUEST['dvc_id'];
$Folder = $_REQUEST['folder'];
$MobileURL = $_REQUEST['url'];
$wko_isp_job_cd = $_REQUEST['wko_isp_job_cd'];

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

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

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

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

$sql = "SELECT RowID, attachment, file_name  from wko_isp (NOLOCK) 
		where 	site_cd ='".$site_cd."' 
		and 	mst_RowID =".$mst_RowID."
		AND 	wko_isp_asset_no = '".$wko_isp_asset_no."'
		AND 	wko_isp_job_cd = '".$wko_isp_job_cd."'";

$stmt = sqlsrv_query($conn, $sql);

if (!$stmt) {
     $error_message = "Error Attachment selecting table (wko_isp)";
	 returnError($error_message);
     die(print_r(sqlsrv_errors(), true));
}

//$json_img_link = array();

do {
     while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
		 
		$Photo = $row['attachment'];
		$fileName = $row['file_name'];
		$rowid = $row['RowID'];
		
		if(!$fileName == "NULL"){
			
			//echo  "(if)";
			
		}else{
			
			
			//echo  " else-if";
			// 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;
			  
				$publicFullPathFileName = $MobileURLFullSize.$fileName;		  
				$publicFullPathTNFileName = $MobileURLTnSize.$fileName;	  
					   
					   
				If ($file = fopen($exportFullPathFileName,"w")) {
					
					if (fwrite($file, $Photo)==false) {
						
						echo "Error Write Files";
					}
					fclose($file);
				}	

				If ($file = fopen($exportFullPathTNFileName,"w")) {
					
					if (fwrite($file, $Photo)==false) {
						echo "Error Write Files";
					}
					fclose($file);
				}		  
					  
				//$file = fopen($exportFullPathTNFileName,"w"); 
					 
				// echo $publicFullPathFileName;
				//$json_img_link['rowid'] = $rowid;
				//$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';
				//array_push($json_return, $json_img_link);
				
				$sql="UPDATE wko_isp SET	
							file_link ='".$publicFullPathFileName."'
					  WHERE site_cd = '".$_REQUEST['site_cd']."'
					  AND 	RowID = '".$rowid."' ;";	
					
							
				$Update_wko_isp_stmt = sqlsrv_query( $conn, $sql);

				if( !$Update_wko_isp_stmt ) {
					$error_message = "Error UPDATE IMAGE SELECT Table (wko_isp)";
					returnError($error_message);
					die( print_r( sqlsrv_errors(), true));
				}

				while ( sqlsrv_next_result($Update_wko_isp_stmt) );
					 
				
				
				
					 
			}else{	
					 
				if (strpos($fileName, 'jpg') == true){
						$mime = 'image/jpg';
				}

				if (strpos($fileName, 'jpeg') == true){
					   $mime = 'image/jpeg';
				}

				if (strpos($fileName, 'gif') == true){
				   $mime = 'image/gif';
				}

				if (strpos($fileName, 'png') == true){
				   $mime = 'image/png';
				}
				if (strpos($fileName, 'pdf') == true){
				   $mime = 'image/pdf';
				}	  
					  
					 
				$exportFullPathFileName = $exportdir.$fileName;
				$exportFullPathTNFileName = $exportdirtn.$fileName;
					  
				$publicFullPathFileName = $MobileURLFullSize.$fileName;		  
				$publicFullPathTNFileName = $MobileURLTnSize.$fileName;
			  
				$publicFullPathFileName = $MobileURLFullSize.$fileName;		  
				$publicFullPathTNFileName = $MobileURLTnSize.$fileName;	  
					   
					 
				if (file_exists($exportFullPathFileName)){
						  
					$counter++;
					$newname  = str_replace(".jpg","_".$counter.".jpg",$fileName);
							
					$exportFullPathFileName = $exportdir.$newname;
					$exportFullPathTNFileName = $exportdirtn.$newname;
				  
					$publicFullPathFileName = $MobileURLFullSize.$newname;	  
					$publicFullPathTNFileName = $MobileURLTnSize.$newname;
			  
					$publicFullPathFileName = $MobileURLFullSize.$newname; 
					$publicFullPathTNFileName = $MobileURLTnSize.$newname;
						  
						  
				}
				
				If ($file = fopen($exportFullPathFileName,"w")) {
					
					if (fwrite($file, $Photo)==false) {
						echo "Error Write Files";
					}
					fclose($file);
				}		  
					  
				$file = fopen($exportFullPathTNFileName,"w"); 
					   
				if (strpos($fileName, 'pdf') == true){
						   
				}else{
						  
					if (file_exists($exportFullPathFileName)) {
						
						list($width, $height, $type) = getimagesize($exportFullPathFileName);
						$imageObject = load_image($exportFullPathFileName, $type);
						# Get exif information
						//$exif = exif_read_data($exportFullPathFileName);
						$exif = exif_imagetype($exportFullPathFileName);
						
					}else {
						
						echo "File not exist";
					}
							
					if (!empty($exif['Orientation'])) {
						# Get orientation
						
						$orientation = $exif['Orientation'];
					}else{
						$orientation = 0 ;
						//echo "0";
					}
						
					switch ($orientation) {
						case 2:
							imageflip($imageObject, IMG_FLIP_HORIZONTAL);
							break;
						case 3:
							$imageObject = imagerotate($imageObject, 180, 0);
							break;
						case 4:
							imageflip($imageObject, IMG_FLIP_VERTICAL);
							break;
						case 5:
							$imageObject = imagerotate($imageObject, -90, 0);
							imageflip($imageObject, IMG_FLIP_HORIZONTAL);
							break;
						case 6:
							$imageObject = imagerotate($imageObject, -90, 0);
							break;
						case 7:
							$imageObject = imagerotate($imageObject, 90, 0);
							imageflip($imageObject, IMG_FLIP_HORIZONTAL);
							break;
						case 8:
							$imageObject = imagerotate($imageObject, 90, 0); 
							break;
					}
					# Write image
					imagejpeg($imageObject, $exportFullPathTNFileName, 20);
					  
					fclose($file);	
						  
				}	  


				// echo $publicFullPathFileName;
				//$json_img_link['rowid'] = $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';
				//array_push($json_return, $json_img_link);
				
				
				$sql="UPDATE wko_isp SET	
							file_link ='".$publicFullPathFileName."'
					  WHERE site_cd = '".$site_cd."'
					  AND 	RowID = '".$rowid."' ;";	
					
							
				$Update_wko_isp_stmt = sqlsrv_query( $conn, $sql);

				if( !$Update_wko_isp_stmt ) {
					$error_message = "Error UPDATE IMAGE SELECT Table (wko_isp)";
					returnError($error_message);
					die( print_r( sqlsrv_errors(), true));
				}

				while ( sqlsrv_next_result($Update_wko_isp_stmt) );
				  
					  
					  
					  
			}
			
		}
		   

    }
} while (sqlsrv_next_result($stmt));


$sql = "SELECT rowid,
			mst_rowid,
			site_cd,
			wko_isp_asset_no,
			wko_isp_job_cd,
			wko_isp_job_desc,
			wko_isp_sec_no,
			wko_isp_sec_desc,
			wko_isp_stp_no,
			wko_isp_stp_desc,
			wko_isp_stp_datatype,
			wko_isp_stp_rowid,
			wko_isp_varchar1,
			wko_isp_varchar2,
			wko_isp_varchar3,
			wko_isp_numeric1,
			wko_isp_numeric2,
			wko_isp_numeric3,
			wko_isp_datetime1,
			wko_isp_datetime2,
			wko_isp_datetime3,
			wko_isp_checkbox1,
			wko_isp_checkbox2,
			wko_isp_checkbox3,
			wko_isp_dropdown1,
			wko_isp_dropdown2,
			wko_isp_dropdown3,		
			wko_isp_uom,
			wko_isp_min_thr,
			wko_isp_max_thr,
			wko_isp_ovr_thr,
			wko_isp_wko_mst_wo_no,
			column1,
			file_name,
			file_link,
			audit_user,
			audit_date,
			mbl_audit_user,
			mbl_audit_date
			
			
			
			
			FROM wko_isp A
			WHERE site_cd = '".$site_cd."' 
			AND wko_isp_asset_no = '".$wko_isp_asset_no."'
			AND wko_isp_job_cd = '".$wko_isp_job_cd."'
			AND wko_isp_job_cd = '".$wko_isp_job_cd."'
			AND mst_rowid = '".$mst_RowID." ' order by wko_isp_job_cd, wko_isp_sec_no,wko_isp_stp_no" ;
			
$wko_isp_stmt = sqlsrv_query( $conn, $sql);

if( !$wko_isp_stmt ) {
     $error_message = "Error selecting table (Work Order Check List)";
	 returnError($error_message);
     die( print_r( sqlsrv_errors(), true));
}

$json = array();

do {
     while ($row = sqlsrv_fetch_array($wko_isp_stmt, SQLSRV_FETCH_ASSOC)) {
     $json[] = $row;
     }
} while ( sqlsrv_next_result($wko_isp_stmt) );

if ($valid) {
	sqlsrv_free_stmt( $stmt);
	sqlsrv_close( $conn);	
	
	returnData($json);	
}

function returnData($json){
	$returnData = array(
	'status' => 'SUCCESS',
	'message' => 'Select Successfully',
	'data' => $json);
	
	echo json_encode($returnData);
}

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


?>