sparqapi/api/application/helpers/inlinephototransform_helper.php
2019-09-05 16:01:02 +05:30

210 lines
8.5 KiB
PHP

<?php
class INLINEPHOTOTRANSFORM
{
public static function retransformGeneralFormInlinePhotos($records)
{
if(isset($records['individuals']) && count($records['individuals']))
{
$CI =& get_instance();
$pd_details =$CI->PD_Model->getPDMasterDetails($records['pdid']);
foreach ($records['individuals'] as $key => $value) {
if(isset($value['is_person_met_pic']) && $value['is_person_met_pic'] != "")
{
$base64 = self::addTimestampAndReturnBase64($CI,$value['is_person_met_pic'],$value['applicant_name'],$pd_details,18);
$records['individuals'][$key]['is_person_met_pic'] = '';
}
if(isset($value['is_person_met_id_proof']) && $value['is_person_met_id_proof'] != "")
{
$base64 = self::addTimestampAndReturnBase64($CI,$value['is_person_met_id_proof'],($value['applicant_name'].'-id_proof'),$pd_details,18);
$records['individuals'][$key]['is_person_met_id_proof'] = '';
}
}
}
return $records;
}
public static function retransformBusinessFormInlinePhotos($records)
{
$CI =&get_instance();
$pd_details =$CI->PD_Model->getPDMasterDetails($records['pdid']);
$busienss_info_location = (isset($records['business_info_location']) ? $records['business_info_location'] : null);
if(isset($records['shop_eat_act_cert']) && $records['shop_eat_act_cert'] == 'yes' && isset($records['shop_eat_act_cert_pic']) && $records['shop_eat_act_cert_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['shop_eat_act_cert_pic'],'shop_eat_act_cert_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['shop_eat_act_cert_pic'] = '';
}
if(isset($records['gst_Regn_cert']) && $records['gst_Regn_cert'] == 'yes' && isset($records['gst_Regn_cert_pic']) && $records['gst_Regn_cert_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['gst_Regn_cert_pic'],'gst_Regn_cert_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['gst_Regn_cert_pic'] = '';
}
if(isset($records['pf_regn']) && $records['pf_regn'] == 'yes' && isset($records['pf_regn_pic']) && $records['pf_regn_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['pf_regn_pic'],'pf_regn_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['pf_regn_pic'] = '';
}
if(isset($records['esic_regn']) && $records['esic_regn'] == 'yes' && isset($records['esic_regn_pic']) && $records['esic_regn_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['esic_regn_pic'],'esic_regn_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['esic_regn_pic'] = '';
}
if(isset($records['export_import_cert']) && $records['export_import_cert'] == 'yes' && isset($records['export_import_cert_pic']) && $records['export_import_cert_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['export_import_cert_pic'],'export_import_cert_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['export_import_cert_pic'] = '';
}
if(isset($records['factory_cert']) && $records['factory_cert'] == 'yes' && isset($records['factory_cert_pic']) && $records['factory_cert_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['factory_cert_pic'],'factory_cert_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['factory_cert_pic'] = '';
}
if(isset($records['practice_cert']) && $records['practice_cert'] == 'yes' && isset($records['practice_cert_pic']) && $records['practice_cert_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['practice_cert_pic'],'practice_cert_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['practice_cert_pic'] = '';
}
if(isset($records['fire_noc']) && $records['fire_noc'] == 'yes' && isset($records['fire_noc_pic']) && $records['fire_noc_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$records['fire_noc_pic'],'fire_noc_pic',$pd_details,13,$records['company_id'],$busienss_info_location);
$records['fire_noc_pic'] = '';
}
if(isset($records['documents']) && count($records['documents']))
{
foreach ($records['documents'] as $key => $value) {
if($value['document_pic'] != '')
{
$base64 = self::addTimestampAndReturnBase64($CI,$value['document_pic'],$value['document'],$pd_details,13,$records['company_id'],$busienss_info_location);
//$records['documents'][$key]['document_pic'] = $base64;
}
}
}
return $records;
}
public static function addTimestampAndReturnBase64($CI,$base64,$doc_name,$pd_details,$form_id,$company_id = null,$location = '')
{
// ##############################################
$temp_base64_string = $base64;
$title = $doc_name;
$external_path = $CI->config->item('external_data_path');
$output_file = $external_path."/pd_reports/". $pd_details[0]['pd_id'] ."/temp_base64_image.jpeg";
EXTERNAL_DIR_CHECK::checkExternalDirectory($pd_details[0]['pd_id']);
//Generate Random File Name
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < 5; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
$temp_file_name = $randomString.date('Y-m-d-H:i:s').'.jpeg';
$ifp = fopen( $output_file, 'wb' );
$temp_data = explode( ',', $temp_base64_string );
fwrite( $ifp, base64_decode( $temp_data[ 1 ] ) );
fclose( $ifp );
//echo mime_content_type($output_file);
// ################### start img water marking with text
$imagetobewatermark=imagecreatefromstring(file_get_contents(($output_file)));
$location_watermarktext="Location: ".($location != null ? $location: $pd_details[0]['start_location']);
$font=APPPATH."docs/robold.ttf"; //metion font and it's location
$fontsize="12";
$water_mark_text_color = imagecolorallocate($imagetobewatermark, 225, 0, 0);
$x = imagesy($imagetobewatermark);
$y = imagesy($imagetobewatermark);
imagettftext($imagetobewatermark, $fontsize, 0, 120, ($y - 30), $water_mark_text_color, $font, $location_watermarktext);
imagettftext($imagetobewatermark, $fontsize, 0, 120, ($y - 10), $water_mark_text_color, $font, 'Date: '.date('Y-m-d h:i:s a'));
imagejpeg($imagetobewatermark,$output_file,100);//save as png file in ouputfile location
//################# end img water marking with text
//###########image water marking with logo
$pd_logo = imagecreatefromstring(file_get_contents(APPPATH.'docs/icon.png'));
$curret_file = imagecreatefromstring(file_get_contents($output_file));
$sx = imagesx($curret_file);
$sy = imagesy($curret_file);
// imagecopyresized ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h ) : bool
imagecopyresampled ( $curret_file , $pd_logo , 5 , ($y - 54) , 0 , 0 , 50 , 50 , 50 , 54 );
imagejpeg($curret_file,$output_file,100);// save png image in specified location
//###########end of image water marking with logo
self::saveImagesInS3($CI,$pd_details,$output_file,$temp_file_name,$form_id,$title,$company_id);
//convert img to base64
//$path = $output_file;
//$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($output_file);
return 'data:image/png;base64,' . base64_encode($data);
//ENd of convert img to base64
}
public static function saveImagesInS3($CI,$pd_details,$output_file,$temp_file_name,$form_id,$title,$company_id = null)
{
$tempdoc = $output_file;
$tempdocname = $temp_file_name;
$bucketname = LENDER_BUCKET_NAME_PREFIX.$pd_details[0]['fk_lender_id'];
$key = 'pd'.$pd_details[0]['pd_id'].'/'.$tempdocname;
$sourcefile = $tempdoc;
$bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>$sourcefile);
$s3result= $CI->aws_s3->uploadFileToS3Bucket($bucket_data);
if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200)
{
$record_data = array('fk_pd_id' => $pd_details[0]['pd_id'],'pd_document_title'=>$title,'pd_document_name'=>$tempdocname,'fk_form_id'=>$form_id,'company_id' => $company_id);
$id = $CI->PD_Model->saveRecords($record_data,PDDOCUMENTS);
//if($id != null || $id != "") { $count++;}
}
}
}