sparqapi/api/application/helpers/photo_zip_creator_helper.php
2021-02-01 00:31:11 +05:30

98 lines
3.0 KiB
PHP

<?php
class photo_zip_creator
{
protected $CI = '';
function __construct()
{
//$CI =&get_instance();
}
public function covertImgs2ZIP($pdid,$random_string,$pd_master_details = array(),$regenerate = 0)
{
//echo 'this is from daiu';
$CI =&get_instance();
$CI->load->model('PD_Model');
if(!count($pd_master_details))
{
$pd_master_details = $CI->PD_Model->getPDMasterDetails($pdid,$random_string,$pd_master_details);
}
if(!file_exists($CI->external_path.'/pd_reports/'.$pdid))
{
mkdir($CI->external_path.'/pd_reports/'.$pdid,0777);
}
$bucketname = LENDER_BUCKET_NAME_PREFIX.$pd_master_details[0]['fk_lender_id'];
$main_applicant_name = $pd_master_details[0]['main_applicant'];
//get zip url from s3 if any
$key = 'pd'.$pdid.'/'.$main_applicant_name.'_'.$pdid.'_'.'pd_images.zip';
//$singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
if($pd_master_details[0]['is_zip_created'] && ($regenerate == 0))
{
return $singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
// $response_data['dataStatus'] = true;
// $response_data['status'] = REST_Controller::HTTP_OK;
// $response_data['records'] = $singed_uri;
// $CI->response($response_data,REST_Controller::HTTP_OK);
}
else
{
// echo 'here...';
$all_pd_images = $CI->PD_Model->getSignedPDDocsURL($pdid,null,null,null,null,'report');
$all_form_names = $CI->PD_Model->selectCustomRecords(array('pd_form_id','pd_form_name'),array(),PDFORMS);
$form_name = array();
foreach($all_form_names as $form)
{
$form_name[ $form['pd_form_id'] ] = $form['pd_form_name'];
}
//print_r($form_name);die();
//Generate zip file
$CI->load->library('zip');
$CI->zip->add_dir('pdimages');
foreach($all_pd_images as $image)
{
$temp_dir_name = isset($form_name[ $image['fk_form_id'] ]) ? $form_name[ $image['fk_form_id'] ] : 'Common';
//replace colon with hyphen in doc name
$doc_name = str_replace(':', '-', $image['pd_document_name']);
$CI->zip->add_data('pdimages/'.$doc_name,file_get_contents($image['doc_url']));
}
$temp_path = $main_applicant_name.'_'.$pdid.'_'.'pd_images.zip';
$CI->zip->archive($CI->external_path.'/pd_reports/'.$pdid.'/'.$temp_path);
$bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>($CI->external_path.'/pd_reports/'.$pdid.'/'.$temp_path));
$s3result= $CI->aws_s3->uploadFileToS3Bucket($bucket_data);
//print_r($s3result);
if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200)
{
//$result_array[0]['content']
$where_condition_array = array("pd_id" => $pdid);
$temp_array['is_zip_created'] = 1;
$id = $CI->PD_Model->updateRecords($temp_array,PDTRIGGER,$where_condition_array);
unlink($CI->external_path.'/pd_reports/'.$pdid.'/'.$temp_path);
}
return $singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
}
}
}
?>