From fad9c906537be2e27d91be7449b6e4b1cbeabf34 Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Mon, 25 Jul 2022 10:00:56 +0530 Subject: [PATCH] Digilocker Files Changes : ps --- api/application/config/constants.php | 6 +- .../controllers/Flyhi_Controller.php | 64 ++++++++--- .../helpers/digital_locker_helper.php | 37 ++++++- api/application/views/digital_locker.php | 103 +++++++++++++----- 4 files changed, 161 insertions(+), 49 deletions(-) diff --git a/api/application/config/constants.php b/api/application/config/constants.php index dfa2a98e..078f3ba8 100644 --- a/api/application/config/constants.php +++ b/api/application/config/constants.php @@ -133,7 +133,7 @@ defined('CET_CREDIT_PD_INTEGRATION_URL') OR define('CET_CREDIT_PD_INTEGRATION_UR defined('CET_CREDIT_PD_INTEGRATION_IMG_URL') OR define('CET_CREDIT_PD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdPhotographsData'); defined('DIGILOCKER_TOKEN_URI') OR define('DIGILOCKER_TOKEN_URI','https://api.digitallocker.gov.in/public/oauth2/1/token'); defined('DIGILOCKER_FILESLIST_URI') OR define('DIGILOCKER_FILESLIST_URI','https://api.digitallocker.gov.in/public/oauth2/2/files/issued'); -defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/files/'); +defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/file/'); } else if(ENVIRONMENT == 'testing') @@ -159,7 +159,7 @@ else if(ENVIRONMENT == 'testing') defined('CET_CREDIT_PD_INTEGRATION_IMG_URL') OR define('CET_CREDIT_PD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdPhotographsData'); defined('DIGILOCKER_TOKEN_URI') OR define('DIGILOCKER_TOKEN_URI','https://api.digitallocker.gov.in/public/oauth2/1/token'); defined('DIGILOCKER_FILESLIST_URI') OR define('DIGILOCKER_FILESLIST_URI','https://api.digitallocker.gov.in/public/oauth2/2/files/issued'); - defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/files/'); + defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/file/'); } else if(ENVIRONMENT == 'production') { @@ -184,7 +184,7 @@ else if(ENVIRONMENT == 'production') defined('CET_CREDIT_PD_INTEGRATION_IMG_URL') OR define('CET_CREDIT_PD_INTEGRATION_IMG_URL','https://demo.devopsmcfinance.com/cet_creditpd/api/PullCreditPdPhotographsData'); defined('DIGILOCKER_TOKEN_URI') OR define('DIGILOCKER_TOKEN_URI','https://api.digitallocker.gov.in/public/oauth2/1/token'); defined('DIGILOCKER_FILESLIST_URI') OR define('DIGILOCKER_FILESLIST_URI','https://api.digitallocker.gov.in/public/oauth2/2/files/issued'); - defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/files/'); + defined('DIGILOCKER_GETFILE_URI') OR define('DIGILOCKER_GETFILE_URI','https://api.digitallocker.gov.in/public/oauth2/1/file/'); } /*********************END of AWS resources Constants*************************************************/ diff --git a/api/application/controllers/Flyhi_Controller.php b/api/application/controllers/Flyhi_Controller.php index d718f08b..adf0c7f7 100644 --- a/api/application/controllers/Flyhi_Controller.php +++ b/api/application/controllers/Flyhi_Controller.php @@ -2191,7 +2191,7 @@ class Flyhi_Controller extends REST_Controller { // $code = "66e28b748d5f73186206a03f27f6aee73191a087"; $code = $this->get('code'); $co_applicant = $this->get('state'); - log_message('ERROR',"### 1 : Inside Controller GetDigilockerDocs code :".$code." & applicant : ".$co_applicant); + log_message('ERROR',"### 1 : Inside Controller GetDigilockerDocs code :".$code." & applicant id : ".$co_applicant); $response_data = digital_locker::getAccessToken($code,$co_applicant); if(isset($response_data['dataStatus']) && $response_data['dataStatus'] == false){ @@ -2202,8 +2202,11 @@ class Flyhi_Controller extends REST_Controller { $view_data['token']= $response_data['token']; $view_data['pd_id']=$response_data['pd_id']; $view_data['applicant_name']=$response_data['applicant_name']; + $view_data['applicant_id']=$response_data['applicant_id']; log_message('ERROR',"### 1st : Inside Controller GetDigilockerDocs reponse :".json_encode($response_data)); log_message('ERROR',"### 1st : Inside Controller GetDigilockerDocs viewdata :".json_encode($view_data)); + $this->header_title = "new"; + $view_data['page_title']="PD GENIE : Digitial Documents"; $this->load->view("digital_locker",$view_data); // echo $html_content; die(); // $response_data['status'] = REST_Controller::HTTP_OK; @@ -2214,14 +2217,18 @@ class Flyhi_Controller extends REST_Controller { public function downloadDigiLockerDocs_post(){ $this->load->helper('digital_locker'); log_message('ERROR','### 5 User Choosen Files'.json_encode($this->post())); + $temp_flag = 0 ; $form_data = $this->post(); $token = $form_data['token']; $pd_id = $form_data['pd_id']; $applicant_name = $form_data['applicant_name']; + $applicant_id = $form_data['applicant_id']; + log_message('ERROR','### 5th User Choosen Files token key'.$form_data['token']); unset($form_data['token']); unset($form_data['pd_id']); unset($form_data['applicant_name']); + unset($form_data['applicant_id']); for($i=0;$i $folder_to_check,'overwrite' => TRUE,'allowed_types' => '*','file_name' => $reindexed_array[$i]); - $this->load->library('upload', $config); + $doc_name = str_replace(' ', '_',$digilocker_doc_name[$i]); + $doc_renamed = $applicant_name."_".$doc_name.'.pdf'; + log_message('ERROR','### 7.1th doc_name '.$doc_renamed.' inx : '.$i); + $src_local_file = XLPATH.'/tmp/'.$doc_renamed; + $ifp = fopen( $src_local_file, 'wb' ); + fwrite( $ifp, $reponse ); + fclose( $ifp ); + chmod($src_local_file, 0777); + $tempdoc = $src_local_file; + $tempdocname = $doc_renamed; + $fields = array('pd_id','fk_lender_id'); $where_condition_array = array('pd_id' => $pd_id); $dtls = $this->Flyhi_Model->selectCustomRecords($fields,$where_condition_array,PDTRIGGER); $pd_id = (count($dtls)>0) ? $dtls[0]['pd_id'] : null; $fk_lender_id = (count($dtls)>0) ? $dtls[0]['fk_lender_id'] : null; - $tempdocname = $applicant_name."-id_proof-".$digilocker_doc_name[$i]; + $bucketname = LENDER_BUCKET_NAME_PREFIX.$fk_lender_id; - $key = 'pd'.$pd_id.'/'.$tempdocname ; - $sourcefile = json_decode($reponse, true); + + $key = 'pd'.$pd_id.'/'.$doc_renamed ; + $sourcefile = $tempdoc; + $bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>$sourcefile); $s3result= $this->aws_s3->uploadFileToS3Bucket($bucket_data); + // $MyFile = file_get_contents($src_local_file); + log_message('ERROR',"### 7.2 : Choosen Files s3-result :".json_encode($s3result)); + if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200) { - $record_data = array('fk_pd_id' => $pd_id,'img_type' => 2,'pd_document_title'=>$tempdocname,'pd_document_name'=>$digilocker_doc_name[$i]); - $this->Flyhi_Model->saveRecords($record_data,PDDOCUMENTS); + $pd_document_data = array('fk_pd_id' => $pd_id,'img_type' => 2,'pd_document_title'=>$doc_renamed,'pd_document_name'=>$doc_renamed,'fk_form_id'=>18,'co_applicant_id'=>$applicant_id); + $pd_document_id = $this->Flyhi_Model->saveRecords($pd_document_data,PDDOCUMENTS); + if($pd_document_id != "" || $pd_document_id != null){ $temp_flag++; } + unlink($src_local_file); } log_message('ERROR',"### 8 : Choosen Files reponse :".json_encode($reponse)); }} - $data['dataStatus'] = true; - $data['status'] = REST_Controller::HTTP_OK; - $data['msg'] = 'File Uploaded Successfully'; - $this->response($data,REST_Controller::HTTP_OK); + + if($temp_flag != 0){ + $msg = count($reindexed_array). 'User Select File . '.$temp_flag.' File Uploaded Successfully'; + $reponse_data['dataStatus'] = true; + $reponse_data['status'] = REST_Controller::HTTP_OK; + $reponse_data['msg'] = $msg; + echo ''; + // sleep for 8 seconds + sleep(8); + // redirect("https://demo.pdgenie.com/pd/#/home"); + }else{ + $reponse_data['dataStatus'] = false; + $reponse_data['status'] = REST_Controller::HTTP_NO_CONTENT; + $reponse_data['msg'] = 'No File Uploaded'; + } + $this->response($reponse_data,REST_Controller::HTTP_OK); + } public function getDigiLockerDocs2_get(){ $this->load->helper('digital_locker'); diff --git a/api/application/helpers/digital_locker_helper.php b/api/application/helpers/digital_locker_helper.php index de879c37..beff351f 100644 --- a/api/application/helpers/digital_locker_helper.php +++ b/api/application/helpers/digital_locker_helper.php @@ -35,17 +35,18 @@ class DIGITAL_LOCKER $dtls = $CI->db->GET()->result_array(); $pd_id = (count($dtls)>0) ? $dtls[0]['fk_pd_id'] : null; $applicant_name = (count($dtls)>0) ? $dtls[0]['applicant_name'] : null; + $applicant_id = $applicant; $CI->db->where('pd_co_applicant_id',$applicant); $CI->db->update(PDAPPLICANTSDETAILS, array('digi_locker_token' => $result)); // print_r($CI->db->last_query()); - return self::getFileIssuedList($response->access_token,$pd_id,$applicant_name); + return self::getFileIssuedList($response->access_token,$pd_id,$applicant_name,$applicant_id); } } - public static function getFileIssuedList($access_token,$pd_id,$applicant_name) + public static function getFileIssuedList($access_token,$pd_id,$applicant_name,$applicant_id) { log_message('ERROR',"### 4 : Inside Helper getFileIssuedList Token :".$access_token); $CI =&get_instance(); @@ -57,9 +58,33 @@ class DIGITAL_LOCKER $result=curl_exec($ch); log_message('ERROR',"### 4th : getFileIssuedList Filelist Reponse :".json_encode($result)); curl_close( $ch ); - return array('dataStatus'=>true,'records'=>$result,'token'=>$access_token,'pd_id'=>$pd_id,'applicant_name'=>$applicant_name); + return array('dataStatus'=>true,'records'=>$result,'token'=>$access_token,'pd_id'=>$pd_id,'applicant_name'=>$applicant_name,'applicant_id'=>$applicant_id); } +// public static function downloadFiles($uri,$access_token) +// { +// log_message('ERROR',"### 6 : Inside Helper DIGILOCKERGETFILEURI Token :".$access_token." & URI :".$uri); +// log_message('ERROR',"### 6.1 : Dummy API "); +// $image_url = "http://p.twimg.com/AW2-vIUCAAE_1FN.png"; + +// $ch = curl_init(); +// curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); +// curl_setopt ($ch, CURLOPT_URL, $image_url); +// curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20); +// curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); +// curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); +// curl_setopt($ch, CURLOPT_HEADER, true); +// curl_setopt($ch, CURLOPT_NOBODY, true); + +// $content = curl_exec ($ch); +// log_message('ERROR',"### 6th : DIGILOCKERGETFILEURI Reponse :".json_encode($content)); +// $contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE); +// echo $contentType; +// echo "
"; +// curl_close ($ch); +// echo "
";
+//   print_r($content);
+//   }
 	public static function downloadFiles($uri,$access_token)
 	{   	
 		log_message('ERROR',"### 6 : Inside Helper DIGILOCKERGETFILEURI Token :".$access_token." & URI :".$uri);
@@ -70,8 +95,10 @@ class DIGITAL_LOCKER
 		curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
 		curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
 		$result=curl_exec($ch);
-		log_message('ERROR',"### 6th : DIGILOCKERGETFILEURI Reponse :".json_encode($result));
-		curl_close( $ch );
+		log_message('ERROR',"### 6.1 : DIGILOCKERGETFILEURI Reponse :".json_encode($result));
+		$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
+		log_message('ERROR',"### 6.2 : DIGILOCKERGETFILEURI contentType:".$contentType);
+		curl_close ($ch);
         return $result;
 	}
 	
diff --git a/api/application/views/digital_locker.php b/api/application/views/digital_locker.php
index af598a63..e7a20a78 100644
--- a/api/application/views/digital_locker.php
+++ b/api/application/views/digital_locker.php
@@ -11,8 +11,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
 	
 	
 	 
+        
 	
-	
+<?php echo $page_title; ?>	
 
-
+
+
+
+

@@ -88,40 +120,57 @@ defined('BASEPATH') OR exit('No direct script access allowed'); + + Digital Documents +
+ Applicant Name : "'.$applicant_name.'"
+
'; + echo '
- - - - - '; + + + + + + + '; + for($i=0;$i + '; //checkbox - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; + echo ''; } echo ''; echo ''; - echo ''; - - + echo ''; + echo ''; echo '
DIGI LOCKER Docs List
Serial Number / Checkbox NameDescriptionIssuer
Sr. No. Select Document Name Document Uploaded Date Document Description Document Issuer
'.($i+1).' + echo '
'.($i+1).' +
'.$list['items'][$i]['name'].''.$list['items'][$i]['description'].''.$list['items'][$i]['issuer'].'
'.$list['items'][$i]['name'].'
'.$list['items'][$i]['date'].'
'.$list['items'][$i]['description'].'
'.$list['items'][$i]['issuer'].'

-
'; +
+ +
'; } else{ echo ' - - - - - - + + + + + + + +
Digi-Locker Docs List
Serial Number / Checkbox NameDescriptionIssuer
There is No Digi-Locker Docs
Sr. No. Select Document Name Document Uploaded Date Document Description Document Issuer
There is No Digi-Locker Docs

'; } ?> + \ No newline at end of file