125 lines
5.4 KiB
PHP
Executable File
125 lines
5.4 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Helpers;
|
|
|
|
use App\Models\EmployeePolicyModel;
|
|
use App\Models\GmailSentHistoryModel;
|
|
use Exception;
|
|
|
|
|
|
class GmailResponseHandler{
|
|
private $myLogger;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->myLogger = \Config\Services::mylogger();
|
|
|
|
}
|
|
|
|
|
|
public function receive_and_distribute_param_to_functions($params)
|
|
{
|
|
try{
|
|
|
|
$this->store_gmail_response_data($params);
|
|
$this->gmail_response_logger($params);
|
|
$this->client_id_flag_setter($params);
|
|
|
|
}
|
|
catch(Exception $e)
|
|
{
|
|
|
|
$error = $e->getMessage();
|
|
echo "An Error Occured" . $error;
|
|
log_message('error',$error);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public function store_gmail_response_data($params){
|
|
// foreach ($params as $key => $value){
|
|
// $prepare_data = [
|
|
// $key => $value
|
|
// ];
|
|
// }
|
|
// $data = [
|
|
// 'email' => isset($params['params']['mail']) ? $params['params']['mail'] : null,
|
|
// 'bcc' => isset($params['params']['bcc']) ? json_encode($params['params']['bcc']) : null,
|
|
// 'cc' => isset($params['params']['cc']) ? json_encode($params['params']['cc']) : null,
|
|
// 'message' => isset($params['params']['message']) ? $params['params']['message'] : null,
|
|
// 'attachments' => isset($params['params']['attachments']) ? json_encode($params['params']['attachments']) : null,
|
|
// 'client_id' => isset($params['params']['common']['client_id']) ? $params['params']['common']['client_id'] : null,
|
|
// 'client_branch_id' => isset($params['params']['common']['client_branch_id']) ? $params['params']['common']['client_branch_id'] : null,
|
|
// 'client_policy_id' => isset($params['params']['common']['client_policy_id']) ? $params['params']['common']['client_policy_id'] : null,
|
|
// 'employee_policy_id' => isset($params['params']['common']['employee_policy_id']) ? $params['params']['common']['employee_policy_id'] : null,
|
|
// 'employee_id' => isset($params['params']['common']['employee_id']) ? $params['params']['common']['employee_id'] : null,
|
|
// 'mail_type' => isset($params['params']['common']['mail_type']) ? $params['params']['common']['mail_type'] : null,
|
|
// 'gmail_api_status' => isset($params['gmail_api']['status']) ? $params['gmail_api']['status'] : null,
|
|
// 'gmail_api_id' => isset($params['gmail_api']['data']['id']) ? $params['gmail_api']['data']['id'] : null
|
|
// ];
|
|
// Initialize data array
|
|
$data = [];
|
|
// print_r($params['params']['common']);die();
|
|
if (isset($params['params']['common'])) {
|
|
foreach ($params['params']['common'] as $key => $value) {
|
|
$data[$key] = isset($value) ? $value : null;
|
|
}
|
|
unset($params['params']['common']);
|
|
}
|
|
if (isset($params['params'])){
|
|
foreach($params['params'] as $key => $value){
|
|
$arr = ['bcc','cc','attachments'];
|
|
if(in_array($key,$arr)){
|
|
$data[$key] = isset($value)?json_encode($value):null;
|
|
}else{
|
|
$data[$key] = isset($value)?$value:null;
|
|
}
|
|
}
|
|
}
|
|
if(isset($params['zepto_api']['data']) && $params['zepto_api']['message'] == 'OK' ){
|
|
$data['gmail_api_status'] = isset($params['zepto_api']['data']) ? $params['zepto_api']['data'][0]['code'] : null;
|
|
$data['gmail_api_id'] = isset($params['zepto_api']['request_id']) ? $params['zepto_api']['request_id'] : null;
|
|
$data['received_message'] = isset($params['zepto_api']['data'][0]['message']) ? json_encode($params['zepto_api']['data'][0]['message']) : null;
|
|
|
|
}
|
|
elseif(isset($params['zepto_api']['error'])){
|
|
$data['gmail_api_status'] = isset($params['zepto_api']['error']['code'])?$params['zepto_api']['error']['code']:null;
|
|
$data['received_message'] = json_encode($params['zepto_api']);
|
|
$data['gmail_api_id'] = isset($params['zepto_api']['error']['request_id']) ? $params['zepto_api']['error']['request_id'] : null;
|
|
}
|
|
|
|
$gmailModel = new GmailSentHistoryModel();
|
|
$save_status = $gmailModel->insert($data);
|
|
}
|
|
|
|
public function gmail_response_logger($params)
|
|
{
|
|
if(isset($params['zepto_api']['error'])){
|
|
$this->myLogger->logme('error',json_encode($params));
|
|
}
|
|
}
|
|
|
|
public function client_id_flag_setter($params)
|
|
{
|
|
try{
|
|
if (isset($params['params']['common']['mail_type'])){
|
|
if($params['params']['common']['mail_type'] == 'member_ecard_mail'){
|
|
$employeePolicyModel = new EmployeePolicyModel();
|
|
$update_status = $employeePolicyModel->where('id',$params['params']['common']['employee_policy_id'])->set('ecard_sent_status',1)->update();
|
|
if($update_status){
|
|
$this->myLogger->logme('error',"ecard_sent_status updated for ".$params['params']['common']['employee_policy_id']);
|
|
}else{
|
|
$this->myLogger->logme('error','ecard_sent_status failed to update');
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
catch(Exception $e){
|
|
$error = $e->getMessage();
|
|
$this->myLogger->logme('error','An Error Occured - '.$error);
|
|
}
|
|
}
|
|
|
|
} |