From c0010f229b80816c534a2c19f370e5c1b12f3bbf Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Sat, 13 Apr 2024 07:09:50 +0000 Subject: [PATCH] FIX_Notification --- .env | 24 ++- app/Controllers/Notifications.php | 317 ++++++++++++++++------------- app/Helpers/NotificationHelper.php | 26 +-- app/Models/NotificationModel.php | 6 + app/Views/notifications_form.php | 6 +- 5 files changed, 222 insertions(+), 157 deletions(-) diff --git a/.env b/.env index 020debd5..d84f91d2 100644 --- a/.env +++ b/.env @@ -147,18 +147,32 @@ APP_TIMEZONE = 'Asia/Kolkata' # Whatsapp Access Token And Instance ID #-------------------------------------------------------------------- # for Live Don't delete it -WAAI_TOKEN = '6582950cb468b' -WAAI_INSTANCE = '6582F04394D59' +# 1st Account +# WAAI_TOKEN = '6582950cb468b' +# WAAI_INSTANCE = '6582F04394D59' +# 2nd Account +# WAAI_TOKEN = '6568739969f28' +# WAAI_INSTANCE = '656876690A9FD' -# Dummy Account by sanjeev created on 14th dec Testing purpose office mail ID (user name - Venba V1 - Krish12345) + +# for Testing Purpose +# 4th Account - Dummy Account by sanjeev created on 10th april 24 Testing purpose +# Dummy Office Mail ID - venba.it.chennai@venbainfotech.com +# (UN - venba.it.chennai PWD - venba.it.chennai) +WAAI_INSTANCE = '661621B29BDEE' +WAAI_TOKEN = '66162101e2f1d' + +# 3rd Account - Dummy Account by sanjeev created on 14th dec Testing purpose +# Office Mail ID - sanjeev.p@venbainfotech.com +# (UN - Venba V1 PWD - Krish12345) # WAAI_TOKEN = '657af9bf8cad1' # WAAI_INSTANCE = '657AFA5A01B21' -# for Test by sanjeev already created +# 2nd Account - Dummy Account by sanjeev # WAAI_TOKEN = '65685e954bcf6' # WAAI_INSTANCE = '656863C54F90C' -# for Old Test by krishanan sir +# 1st Account - Dummy Account by krishanan sir # WAAI_TOKEN = '652548474f4e4' # WAAI_INSTANCE = '65254894E4A88' diff --git a/app/Controllers/Notifications.php b/app/Controllers/Notifications.php index 1b5f2196..d9b28bc5 100755 --- a/app/Controllers/Notifications.php +++ b/app/Controllers/Notifications.php @@ -12,6 +12,7 @@ class Notifications extends BaseController # Custom Notification ################################################################ public function custom_notifications(){ + $data['page_name'] = 'Custom Notifications'; if ($this->request->is('post')) { session()->setFlashdata('reset', true); $records = $this->request->getVar(); @@ -42,7 +43,7 @@ class Notifications extends BaseController 'message' => $records['description'], 'result'=>strtolower(gettype($history_msg)) == "string" ? $history_msg : json_encode($history_msg)]; $history_child_id = $NotificationModel->save_notification_history_child($history_child_data); - $this->logger->info('Custom Notifications Email : historychildid = '.$history_child_id); + $this->logger->error('Custom Notifications Email : historychildid = '.$history_child_id); }else{ $records = $this->request->getVar(); @@ -52,133 +53,173 @@ class Notifications extends BaseController $receiving_status = 0; $doc_path = APPPATH . '../public/uploads/'; $doc_name = ''; - $this->logger->info("Whatsapp : sending message instance id = " . $_ENV['WAAI_INSTANCE'] . " - " . $_ENV['WAAI_TOKEN']); + $errorMessages = []; + $this->logger->error("Whatsapp : sending message instance id = " . $_ENV['WAAI_INSTANCE'] . " - " . $_ENV['WAAI_TOKEN']); if($records['mobile'] != ""){ $string = $records['mobile']; $mobile_no_arr = explode(',', $string); $total_number_count = count($mobile_no_arr); $sended_number_count = 0; $not_sended_number_count = 0; - if ($records['type'] == 'document') { - $doc_name = $doc_details->getName(); - if($doc_name !== '' && $doc_details->isValid()) { - $doc_details->move($doc_path, $doc_name); - $this->logger->info("Name After Upload".$doc_name); + // Step 1 Categories Check + if ($records['categories'] == 'SEND_WAAI_GROUP_URL') { + if ($records['group_id'] != "") { + $params->group_id = $records['group_id']; + } else { + session()->setFlashdata('error', 'Group Id Missing Please Try again..'); + $this->render_page('notifications_form', $data); + return; } + }else if ($records['categories'] == 'SEND_WAAI_URL') { + if ($records['mobile'] == "") { + session()->setFlashdata('error', 'Mobile Number Missing Please Try again..'); + $this->render_page('notifications_form', $data); + return; + } + } else { + session()->setFlashdata('error', 'Please Choose your Category..'); + $this->render_page('notifications_form', $data); + return; } + + // Step 2 Media Check, Document Also Convert into Media Here. + if ($records['type'] == 'media') { + if ($records['media_url'] != "") { + $params->media_url = $records['media_url']; + $params->type = "media"; + } else { + session()->setFlashdata('error', 'Media Url Missing Please Try again..'); + $this->render_page('notifications_form', $data); + return; + } + }else if ($records['type'] == 'document') { + if (isset($records['media_doc'])) { + if ($doc_details->isValid() && $doc_details->getClientMimeType() === 'image/jpeg') { + $doc_name = $doc_details->getName(); + if ($doc_name !== '') { + $doc_details->move($doc_path, $doc_name); + $params->media_url = base_url().'public/uploads/'.$doc_name; + $params->type = "media"; + $this->logger->error("Name After Upload: " . $doc_name); + } + else{ + $this->logger->error("Err on upload name not Founded ".$records['media_doc']); + session()->setFlashdata('error', 'Media Document Missing Please Try again..'); + $this->render_page('notifications_form', $data); + return; + } + } else { + session()->setFlashdata('error', 'Please upload a JPEG image.'); + $this->render_page('notifications_form', $data); + return; + } + } else { + session()->setFlashdata('error', 'Please upload a JPEG image.'); + $this->render_page('notifications_form', $data); + return; + } + }else{ + $params->type = "text" ; + } + $NotificationModel = new NotificationModel(); - $history_parents_data = ['campaign_id' => 0,'status' => 0]; + $history_parents_data = ['campaign_id' => 0,'status' => 0,'field_value' =>$records['mobile']]; $history_parent_id = $NotificationModel->save_notification_history_parents($history_parents_data); // print_r($mobile_no_arr); if(!empty($mobile_no_arr)){ - try { - foreach ($mobile_no_arr as $mobile) { + foreach ($mobile_no_arr as $mobile) { + // try { + $exceptionOccurred = false; // echo "----$mobile"; if (trim(strlen($mobile)) == 10) { if (ctype_digit($mobile)) { - // ------------ Step 1 - if ($records['categories'] == 'SEND_WAAI_GROUP_URL') { - if ($records['group_id'] != "") { - $params->group_id = $records['group_id']; - } else { - throw new \Exception("Group Id Missing Please Try again.."); - } - } else if ($records['categories'] == 'SEND_WAAI_URL') { - if ($records['mobile'] != "") { + if ($mobile != "") { $params->number = (int)'91' . $mobile; - - } else { - throw new \Exception("Mobile Number Missing Please Try again.."); - } + $url = constant($records['categories']); + $params->instance_id = $_ENV['WAAI_INSTANCE']; + $params->access_token = $_ENV['WAAI_TOKEN']; + $params->message = strip_tags(ltrim($records['description'])); + $this->logger->error("Whatsapp : Request Type ==> Mobile Number = ".$mobile." - " . gettype($params)); + helper('notification'); + $notification = new NotificationHelper(); + $success = $notification->sendWhatsAppMessage($url, "POST", $params); + // echo "
";print_r($success);echo "
"; + $receiving_status = $success['receiving_status']; + $parents_status = $success['receiving_status']; + $this->logger->error("Whatsapp : Reponse ==> Mobile Number = ".$mobile." Waai Reponse = ". json_encode($success['reponse'])); + $history_msg = strtolower(gettype($success)) == "string" ? $success : json_encode($success['reponse']); + // $tag = (int)$receiving_status === 1 ? 'success' : 'error' ; + // session()->setFlashdata($tag, 'Message : ' . $success['message']); + (int)$receiving_status === 1 ? $sended_number_count++ : $not_sended_number_count++; } else { - throw new \Exception("Please Choose your Category"); + $receiving_status = 0; + $parents_status = 0; + $history_msg = "Mobile Number = ".$mobile." is invalid."; + $this->logger->error("Whatsapp : Reponse ==> ".$history_msg); + $not_sended_number_count++; + $errorMessages[] = $history_msg; } - // echo "***".$params->number; - //---------Step 2 - if ($records['type'] == 'media') { - if ($records['media_url'] != "") { - $params->media_url = $records['media_url']; - $params->type = "media"; - } else { - throw new \Exception("Media Url Missing Please Try again.."); - } - }else if ($records['type'] == 'document') { - $doc_name = $doc_details->getName(); - if($doc_name == ''){ - $this->logger->error("Err on upload name not Founded ".$records['media_doc']); - throw new \Exception("Media Document Missing Please Try again.."); - }else{ - $params->media_url = base_url().'public/uploads/'.$doc_name; - $params->type = "media"; - } - }else{ - $params->type = "text" ; - } - $url = constant($records['categories']); - $params->instance_id = $_ENV['WAAI_INSTANCE']; - $params->access_token = $_ENV['WAAI_TOKEN']; - $params->message = strip_tags(ltrim($records['description'])); - $this->logger->info("Whatsapp : sending message request = " . json_encode($params)); - $this->logger->info("Whatsapp : sending message request type b4 = " . gettype($params)); - - helper('notification'); - $notification = new NotificationHelper(); - $success = $notification->sendWhatsAppMessage($url, "POST", $params); - // echo "
";print_r($success);echo "
"; - $receiving_status = $success['receiving_status']; - $parents_status = $success['receiving_status']; - $this->logger->info("Whatsapp : Reponse ==> Mobile Number = ".$mobile." Message = ". json_encode($success['reponse'])); - $history_msg = strtolower(gettype($success)) == "string" ? $success : json_encode($success['reponse']); - // $tag = (int)$receiving_status === 1 ? 'success' : 'error' ; - // session()->setFlashdata($tag, 'Message : ' . $success['message']); - $this->logger->info("Whatsapp : Reponse = " . $success['message']); - (int)$receiving_status === 1 ? $sended_number_count++ : $not_sended_number_count++; }elseif (ctype_alpha($mobile)) { + $receiving_status = 0; + $parents_status = 0; $history_msg = "Mobile Number = ".$mobile." is a character."; - $this->logger->info("Whatsapp : Reponse ==> ".$history_msg); + $this->logger->error("Whatsapp : Reponse ==> ".$history_msg); $not_sended_number_count++; - throw new \Exception($history_msg); + $errorMessages[] = $history_msg; + }else { + $receiving_status = 0; + $parents_status = 0; $history_msg = "Mobile Number = ".$mobile." is a combination of characters and numbers."; - $this->logger->info("Whatsapp : Reponse ==> ".$history_msg); + $this->logger->error("Whatsapp : Reponse ==> ".$history_msg); $not_sended_number_count++; - throw new \Exception($history_msg); + $errorMessages[] = $history_msg; } }else { $history_msg = "Mobile Number = ".$mobile." does not have 10 digits."; - $this->logger->info("Whatsapp : Reponse ==> ".$history_msg); + $this->logger->error("Whatsapp : Reponse ==> ".$history_msg); $not_sended_number_count++; - throw new \Exception($history_msg); + $errorMessages[] = $history_msg; } - $NotificationModel = new NotificationModel(); - $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,0); - $this->logger->info($history_parent_statement); $history_child_data = [ 'fkid' => $history_parent_id, 'customer_id' => 0, - 'receiving_entity' => $mobile." (original : ".$records['mobile'].")", + 'receiving_entity' => $mobile, 'receiving_status' => $receiving_status, 'message' => $records['description'], 'result'=>$history_msg]; - $history_child_id = $NotificationModel->save_notification_history_child($history_child_data); - $this->logger->info('Custom Notifications Whatsapp : historychildid = '.$history_child_id); - } - session()->setFlashdata("success","Message : Sent Success (". $sended_number_count." / ".$total_number_count." )"); - $this->logger->info("Whatsapp : Final ==> ".$sended_number_count." Sended out of ".$total_number_count." ( Not sended numbers count ".$not_sended_number_count." ) "); - } catch (\Exception $e) { - $this->logger->error("Whatsapp : Exception Message = " . $e->getMessage() . "
File: " . $e->getFile() . "
Line: " . $e->getLine() . "
"); - session()->setFlashdata('error', 'Message: ' . $e->getMessage()); + $NotificationModel = new NotificationModel(); + $history_child_id = $NotificationModel->save_custom_notification_history_child($history_child_data); + $this->logger->error('Custom Notifications Whatsapp : historychildid = '.$history_child_id); + } + if (!empty($errorMessages)) { + $this->logger->error(implode("\n", $errorMessages)); + session()->setFlashdata('error', implode('
', $errorMessages)); + $errorMessages = []; } + if($sended_number_count > 0){ + $NotificationModel = new NotificationModel(); + $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,0); + $this->logger->error($history_parent_statement); + session()->setFlashdata("success","Message : Sent Success (". $sended_number_count." / ".$total_number_count." )"); + $this->logger->error("Whatsapp : Final ==> ".$sended_number_count." Sended out of ".$total_number_count." ( Not sended numbers count ".$not_sended_number_count." ) "); + } + $this->render_page('notifications_form', $data); + return; }else{ session()->setFlashdata('error', 'Message : Mobile Not Founded'); + $this->logger->error('Message : Mobile Not Founded'); + $this->render_page('notifications_form', $data); + return; } }else{ session()->setFlashdata('error', 'Message : Mobile Field Empty'); + $this->logger->error('Message : Mobile Field Empty'); + $this->render_page('notifications_form', $data); + return; } } } - $records = []; - $data['page_name'] = 'Custom Notifications'; $this->render_page('notifications_form', $data); } @@ -200,7 +241,7 @@ class Notifications extends BaseController $business_name = ""; $to_subscription = ""; if (isset($details)) { - $this->logger->info("Notification : Duedate notification Request data type = " . gettype($details)); + $this->logger->error("Notification : Duedate notification Request data type = " . gettype($details)); } helper('notification'); $notification = new NotificationHelper(); @@ -239,13 +280,13 @@ class Notifications extends BaseController $params->message = $template; $params->instance_id = $_ENV['WAAI_INSTANCE']; $params->access_token = $_ENV['WAAI_TOKEN']; - $this->logger->info("Notification : Duedate notification Email Request data = " . json_encode($records)); + $this->logger->error("Notification : Duedate notification Email Request data = " . json_encode($records)); $email_result = $notification->sendEmail($records); - $this->logger->info("Notification : Duedate notification Email Response = " . json_encode($email_result)); - $this->logger->info("Notification : Duedate notification Whatsapp Request data = " . json_encode($params)); + $this->logger->error("Notification : Duedate notification Email Response = " . json_encode($email_result)); + $this->logger->error("Notification : Duedate notification Whatsapp Request data = " . json_encode($params)); $whatsapp_result = $notification->sendWhatsAppMessage(SEND_WAAI_URL, "POST", $params); - $this->logger->info("Notification : Duedate notification Whatsapp Response = " . json_encode($whatsapp_result)); + $this->logger->error("Notification : Duedate notification Whatsapp Response = " . json_encode($whatsapp_result)); } public function template_creation() @@ -266,11 +307,11 @@ class Notifications extends BaseController $data['group_details'] = $this->get_group_details(); $model = new NotificationModel(); if ($id === '0') { - $this->logger->info("Template Creation: In Add Page"); + $this->logger->error("Template Creation: In Add Page"); $data['page_name'] = 'Add Template'; $data['template_details'] = []; } elseif ($id !== '0') { - $this->logger->info("Template Creation: In Edit Page ID =" . $id); + $this->logger->error("Template Creation: In Edit Page ID =" . $id); $data['page_name'] = 'Edit Template'; $model->setTable('templates'); $where = ['template_id' => (int)$id]; @@ -294,12 +335,12 @@ class Notifications extends BaseController $where = ['template_id' => (int)$id]; $result = $model->where($where)->findAll(); if ($result) { - $this->logger->Info("Template: Going to Inactive ID = " . $id); + $this->logger->error("Template: Going to Inactive ID = " . $id); $data = ['isactive' => 0, 'updated_by' => $session_uid, 'template_id' => (int)$id]; $statement = $model->saveDetails($data, 'template_id', 'templates'); // just updating Inactive status only. if ($statement['success']) { session()->setFlashdata('success', $statement['success'] ? 'Deleted successfully.' : ""); - $this->logger->info($statement['log']); + $this->logger->error($statement['log']); } else if ($statement['error']) { session()->setFlashdata('error', $statement['error']); $this->logger->error($statement['log']); @@ -338,7 +379,7 @@ class Notifications extends BaseController public function template_creation_insert() { - $this->logger->info("Template: Inserting/Updating Details"); + $this->logger->error("Template: Inserting/Updating Details"); try { ## Declarions helper('session'); @@ -367,7 +408,7 @@ class Notifications extends BaseController $statement = $model->saveDetails($data, 'template_id', 'templates'); if ($statement['success']) { session()->setFlashdata('success', $statement['success']); - $this->logger->info($statement['log']); + $this->logger->error($statement['log']); } else if ($statement['error']) { session()->setFlashdata('error', $statement['error']); $this->logger->error($statement['log']); @@ -397,11 +438,11 @@ class Notifications extends BaseController $data['template_details'] = $this->get_template_details(); $model = new NotificationModel(); if ($id === '0') { - $this->logger->info("Campaign Creation: In Add Page"); + $this->logger->error("Campaign Creation: In Add Page"); $data['page_name'] = 'Add Campaign'; $data['campaign_details'] = []; } elseif ($id !== '0') { - $this->logger->info("Campaign Creation: In Edit Page ID =" . $id); + $this->logger->error("Campaign Creation: In Edit Page ID =" . $id); $data['page_name'] = 'Edit Campaign'; $model->setTable('notification_campaign'); $where = ['campaign_id' => (int)$id]; @@ -426,12 +467,12 @@ class Notifications extends BaseController $where = ['campaign_id' => (int)$id]; $result = $model->where($where)->findAll(); if ($result) { - $this->logger->Info("Campaign: Going to Inactive ID = " . $id); + $this->logger->error("Campaign: Going to Inactive ID = " . $id); $data = ['isactive' => 0, 'updated_by' => $session_uid, 'campaign_id' => (int)$id]; $statement = $model->saveDetails($data, 'campaign_id', 'notification_campaign'); // just updating Inactive status only. if ($statement['success']) { session()->setFlashdata('success', $statement['success'] ? 'Deleted successfully.' : ""); - $this->logger->info($statement['log']); + $this->logger->error($statement['log']); } else if ($statement['error']) { session()->setFlashdata('error', $statement['error']); $this->logger->error($statement['log']); @@ -448,7 +489,7 @@ class Notifications extends BaseController public function campaign_creation_insert() { - $this->logger->info("Campaign: Inserting/Updating Details"); + $this->logger->error("Campaign: Inserting/Updating Details"); try { ## Declarions helper('session'); @@ -487,7 +528,7 @@ class Notifications extends BaseController } if ($statement['success']) { session()->setFlashdata('success', $statement['success']); - $this->logger->info($statement['log']); + $this->logger->error($statement['log']); } else if ($statement['error']) { session()->setFlashdata('error', $statement['error']); $this->logger->error($statement['log']); @@ -510,14 +551,14 @@ class Notifications extends BaseController # Step 1: add the days to retrive the data// $providedDate = date('Y-m-d'); $newDate = date('Y-m-d', strtotime($providedDate . ' + ' . $window_time . ' days')); - $this->logger->info('EXPIRYDATE T-Date = '.$providedDate.', Given ' .$window_time.' Day, Calacuated Date based on Given day count = '.$newDate); + $this->logger->error('EXPIRYDATE T-Date = '.$providedDate.', Given ' .$window_time.' Day, Calacuated Date based on Given day count = '.$newDate); # Step 2 :Get the customer detail// $NotificationModel = new NotificationModel(); $ExpCustomerDetail = $NotificationModel->getExpDate(); // Retrieve the stored query if (empty($ExpCustomerDetail)) { - $this->logger->info('No customer group found by the name of EXPIRYDATE'); + $this->logger->error('No customer group found by the name of EXPIRYDATE'); return; } @@ -525,7 +566,7 @@ class Notifications extends BaseController $modifiedQuery = str_replace('WINDOW_TIME', $window_time, $ExpCustomerDetail); // print_r($modifiedQuery);die; if (empty($modifiedQuery)) { - $this->logger->info('There is no sub query'); + $this->logger->error('There is no sub query'); return; } $db = \Config\Database::connect(); @@ -533,7 +574,7 @@ class Notifications extends BaseController $notification = new NotificationHelper(); if (empty($queryResult)) { - $this->logger->info("There is no customer expiring on date:{$newDate}"); + $this->logger->error("There is no customer expiring on date:{$newDate}"); return; } @@ -549,7 +590,7 @@ class Notifications extends BaseController $expirydate = $row['to_subscription']; $customerId = $row['customer_id']; if (empty($fullName)) { - $this->logger->info('There is no subcription Name'); + $this->logger->error('There is no subcription Name'); continue; } if ($status === 'Approved') { @@ -584,40 +625,40 @@ class Notifications extends BaseController # Step 6:Send email using NotificationHelper $emailResult = $notification->sendEmail($emailData); - $this->logger->info("EXPIRAY NOTIFY TEMPLATE EMAIL Email CID = ".$customerId." ".json_encode($emailResult)); + $this->logger->error("EXPIRAY NOTIFY TEMPLATE EMAIL Email CID = ".$customerId." ".json_encode($emailResult)); if (isset($emailResult['success'])) { $history_msg = 'Email sent successfully'; $history_child_updatedata = ['receiving_status'=>1,'result'=>$history_msg]; $history_child_where = ['fkid' => $history_parent_id,'id' => (int)$history_child_id]; $history_child_statement = $NotificationModel->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->info($history_child_statement); + $this->logger->error($history_child_statement); $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id); - $this->logger->info($history_parent_statement); + $this->logger->error($history_parent_statement); echo ($inx+1).") ".$history_msg."
"; } else { $history_msg = (strtolower(gettype($emailResult)) == "string" ? $emailResult : json_encode($emailResult)) ; $history_child_updatedata = ['receiving_status'=>0,'result'=>$history_msg]; $history_child_where = ['fkid' => $history_parent_id,'id' => (int)$history_child_id]; $history_child_statement = $NotificationModel->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->info($history_child_statement); + $this->logger->error($history_child_statement); $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id); - $this->logger->info($history_parent_statement); + $this->logger->error($history_parent_statement); echo ($inx+1).") Failed to send email
"; } } else { $history_msg = 'There is no email template found by the name of EXPIRAY_NOTIFY_TEMPLATE_EMAIL'; // $receiving_status = 0 ; - $this->logger->info($history_msg); + $this->logger->error($history_msg); echo $history_msg."
"; continue; } } else{ - $this->logger->info("status is Draft"); + $this->logger->error("status is Draft"); } # EXPIRAY_NOTIFY_TEMPLATE_EMAIL Closed if ($status === 'Approved') { @@ -633,11 +674,11 @@ class Notifications extends BaseController $history_child_updatedata = ['receiving_status'=>0,'result'=>$history_msg]; $history_child_where = ['fkid' => $history_parent_id,'id' => (int)$history_child_id]; $history_child_statement = $NotificationModel->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->info($history_child_statement); + $this->logger->error($history_child_statement); $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id); - $this->logger->info($history_parent_statement); - $this->logger->info($history_msg); + $this->logger->error($history_parent_statement); + $this->logger->error($history_msg); echo ($inx+1).") ".$history_msg."
"; continue; } @@ -668,19 +709,19 @@ class Notifications extends BaseController $params->message = strip_tags(ltrim($whatsappContent)); $params->instance_id = $_ENV['WAAI_INSTANCE']; $params->access_token = $_ENV['WAAI_TOKEN']; - $this->logger->info("EXPIRAY NOTIFY TEMPLATE WHATSAPP Request = " . json_encode($params)); - $this->logger->info("EXPIRAY NOTIFY TEMPLATE WHATSAPP Request type b4 = " . gettype($params)); + $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Request = " . json_encode($params)); + $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Request type b4 = " . gettype($params)); $whatsapp_result = $notification->sendWhatsAppMessage($url, "POST", $params); $receiving_status = $whatsapp_result['receiving_status']; $history_msg = strtolower(gettype($whatsapp_result)) == "string" ? $whatsapp_result : json_encode($whatsapp_result['reponse']); $history_child_updatedata = ['receiving_status'=>$receiving_status,'result'=>$history_msg]; $history_child_where = ['fkid' => $history_parent_id,'id' => (int)$history_child_id]; $history_child_statement = $NotificationModel->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->info($history_child_statement); + $this->logger->error($history_child_statement); $history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id); - $this->logger->info($history_parent_statement); - $this->logger->info("EXPIRAY NOTIFY TEMPLATE WHATSAPP Reponse = " . $history_msg); + $this->logger->error($history_parent_statement); + $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Reponse = " . $history_msg); if(strtolower(gettype($whatsapp_result)) == "string"){ echo ($inx+1).") ".$whatsapp_result."
"; @@ -690,18 +731,18 @@ class Notifications extends BaseController $decodedResult = json_decode($result, true); if ($decodedResult && isset($decodedResult['message']['key']['remoteJid'])) { $remoteJid = $decodedResult['message']['key']['remoteJid']; - $this->logger->info("EXPIRAY NOTIFY TEMPLATE WHATSAPP Remote Jid = " . $remoteJid); + $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Remote Jid = " . $remoteJid); echo ($inx+1).") Whatsapp sent successfully
"; } else { // echo "Failed to extract remoteJid"; - $this->logger->info("EXPIRAY NOTIFY TEMPLATE WHATSAPP Failed to extract remoteJid "); + $this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Failed to extract remoteJid "); echo ($inx+1).") Failed to send Whatsapp
"; } } } else { // $receiving_status = 0; $history_msg = 'There is no Whatsapp template found by the name of EXPIRAY NOTIFY TEMPLATE WHATSAPP '; - $this->logger->info($history_msg); + $this->logger->error($history_msg); echo "There is no Whatsapp template
"; continue; } @@ -709,7 +750,7 @@ class Notifications extends BaseController # EXPIRAY_NOTIFY_TEMPLATE_WHATSAPP Closed } else{ - $this->logger->info("statsu is draft"); + $this->logger->error("statsu is draft"); } # Loop Closed @@ -723,15 +764,15 @@ class Notifications extends BaseController ################################################################ ## notification campaign details public function processScheduledNotifications(){ - $this->logger->info("Auto Scheduled Notification Started"); + $this->logger->error("Auto Scheduled Notification Started"); $model = new NotificationModel(); #step 1 get scheduled notification details $notification_campaign_result = $this->getScheduledNotificationDetails(); - $this->logger->info("Auto Scheduled Campaign Details Count = ".count($notification_campaign_result)); + $this->logger->error("Auto Scheduled Campaign Details Count = ".count($notification_campaign_result)); if(!count($notification_campaign_result)) { - $this->logger->info("No Auto Scheduled Notification in DB,exiting...!"); - $this->logger->info("Auto Scheduled Notification Ends"); + $this->logger->error("No Auto Scheduled Notification in DB,exiting...!"); + $this->logger->error("Auto Scheduled Notification Ends"); echo "No Scheduled Data Founded"."
"; exit(); } @@ -744,7 +785,7 @@ class Notifications extends BaseController echo "Notification Campaign Name = ".$single_campaign['campaign_name']."
"; #step 2 get template details $template = $this->getTemplateDetails($single_campaign['template_id']); - $this->logger->info("Auto Scheduled Template Details TID = ".$single_campaign['template_id']); + $this->logger->error("Auto Scheduled Template Details TID = ".$single_campaign['template_id']); if(count($template)) { #step 2.1 @@ -772,7 +813,7 @@ class Notifications extends BaseController //check wheather if notification send to the current customer already if(!in_array($customer['customer_id'],$sent_customer_details)) { - $this->logger->info("Auto Scheduled Customer CID = ".$customer['customer_id'].", CN = ".$customer['customer_name']); + $this->logger->error("Auto Scheduled Customer CID = ".$customer['customer_id'].", CN = ".$customer['customer_name']); #step 5 send notification $notification = new NotificationHelper(); if($single_campaign['mode'] == 'Email') @@ -780,12 +821,12 @@ class Notifications extends BaseController $email_response = $notification->sendEmail(array('recipient_email' => $customer['email'],'subject' => $template['subject'],'template_name' => $template['template_name'],'description' => $notificationContent)); $mail_log = isset($email_response['success']) ? 'Email sent successfully' : 'Failed to send email'; $receiving_status = isset($email_response['success']) ? 1 : 0; - $this->logger->info("Auto Scheduled Email CID = ".$customer['customer_id']." ".$mail_log); + $this->logger->error("Auto Scheduled Email CID = ".$customer['customer_id']." ".$mail_log); $history_child_where = ['fkid' => $single_campaign['history_parent_id'],'id' => (int)$history_child_id]; $history_child_updatedata = ['receiving_status'=>$receiving_status, 'result'=>isset($email_response['success']) ? $mail_log : (strtolower(gettype($email_response)) == "string" ? $email_response : json_encode($email_response)) ]; $history_child_statement = $model->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->info($history_child_statement); + $this->logger->error($history_child_statement); } else @@ -800,12 +841,12 @@ class Notifications extends BaseController $whatsapp_reponse = $notification->sendWhatsAppMessage($url, "POST", $params); $whatsapp_reponse_msg = strtolower(gettype($whatsapp_reponse)) == "string" ? $whatsapp_reponse : json_encode($whatsapp_reponse['reponse']); // echo "Whatsapp Response = ".$whatsapp_reponse_msg."
"; - $this->logger->info("Auto Scheduled Whatsapp CID = ".$customer['customer_id']." ".$whatsapp_reponse_msg); + $this->logger->error("Auto Scheduled Whatsapp CID = ".$customer['customer_id']." ".$whatsapp_reponse_msg); $history_child_where = ['fkid' => $single_campaign['history_parent_id'],'id' => (int)$history_child_id]; $history_child_updatedata = ['receiving_status'=>$whatsapp_reponse['receiving_status'],'result'=>$whatsapp_reponse_msg]; $history_child_statement = $model->update_notification_history_child($history_child_updatedata,$history_child_where); - $this->logger->info($history_child_statement); + $this->logger->error($history_child_statement); } @@ -818,12 +859,12 @@ class Notifications extends BaseController #step 6 update campaign status to 1 $statement = $model->update_notification_campaign_status(['status' => 1],$single_campaign['campaign_id']); echo "Final Campaign Status = ".$statement."
"; - $this->logger->info($statement); + $this->logger->error($statement); #step 7 update history parent status to 1 $history_parent_statement = $model->update_notification_history_parent_status(['status' => 1],$single_campaign['history_parent_id'],$single_campaign['campaign_id']); echo "Final Acknowlegdement = ".$history_parent_statement."
"; - $this->logger->info($history_parent_statement); + $this->logger->error($history_parent_statement); } @@ -862,7 +903,7 @@ class Notifications extends BaseController function getCustomerDetails($group_ids) { $group_id_arr = unserialize($group_ids); - $this->logger->info("Auto Scheduled Customer Group CGID = ".implode(", ", $group_id_arr)); + $this->logger->error("Auto Scheduled Customer Group CGID = ".implode(", ", $group_id_arr)); $customer_details = []; if(count($group_id_arr)) { diff --git a/app/Helpers/NotificationHelper.php b/app/Helpers/NotificationHelper.php index 6a4f8512..2b4b90c5 100644 --- a/app/Helpers/NotificationHelper.php +++ b/app/Helpers/NotificationHelper.php @@ -17,7 +17,7 @@ class NotificationHelper public function sendEmail($records) { - $this->logger->info('Helper : Email Request Data type = '.gettype($records)); + $this->logger->error('Helper : Email Request Data type = '.gettype($records)); $cc = isset($records['carboncopy']) ? $records['carboncopy'] : ''; $bcc = isset($records['blindcarboncopy']) ? $records['blindcarboncopy'] : ''; @@ -28,26 +28,26 @@ class NotificationHelper throw new \Exception("Email and Subject are Must Please Try again.."); } $this->email->setTo($records['recipient_email']); - $this->logger->info('Helper : Email recipient = '.$records['recipient_email']); + $this->logger->error('Helper : Email recipient = '.$records['recipient_email']); $this->email->setFrom('web@vijayabharathambooks.com', isset($records['company'])?$records['company']:"VB"); $this->email->setSubject($records['subject']); - $this->logger->info('Helper : Email subject = '.$records['subject']); + $this->logger->error('Helper : Email subject = '.$records['subject']); $this->email->setMessage($records['description']); // if($records['template_name'] != ""){ - // $this->logger->info('Helper : Email Template = '.$records['template_name']); - // $this->logger->info("Helper : Email Request data = ".json_encode($records)); + // $this->logger->error('Helper : Email Template = '.$records['template_name']); + // $this->logger->error("Helper : Email Request data = ".json_encode($records)); // $emailContent = view($records['template_name'],$records); // $this->email->setMessage($emailContent); // }else{ - // $this->logger->info('Helper : Email Dynamic Template'); + // $this->logger->error('Helper : Email Dynamic Template'); // $this->email->setMessage($records['description']); // } if ($cc !== '') { $ccRecipients = explode(',', trim($cc)); - $this->logger->info('Helper : Email carbon copy CC recipient = ' . implode(',', $ccRecipients)); + $this->logger->error('Helper : Email carbon copy CC recipient = ' . implode(',', $ccRecipients)); if (!empty($ccRecipients)) { if (getenv('CI_ENVIRONMENT') === "production") { $this->email->setCC('contact@vijayabharathambooks.com'); @@ -62,7 +62,7 @@ class NotificationHelper if ($bcc !== '') { $bccRecipients = explode(',', trim($bcc)); - $this->logger->info('Helper : Email blindcarboncopy BCC recipient = ' . implode(',', $bccRecipients)); + $this->logger->error('Helper : Email blindcarboncopy BCC recipient = ' . implode(',', $bccRecipients)); if(!empty($bccRecipients)) { $this->email->setBCC($bccRecipients); } @@ -70,7 +70,7 @@ class NotificationHelper if ($this->email->send()) { $message['success'] = 'Email sent successfully'; - $this->logger->info('Helper : Email Status = sent successfully'); + $this->logger->error('Helper : Email Status = sent successfully'); } else { throw new \Exception('Email sending failed.'); } @@ -86,18 +86,18 @@ class NotificationHelper $final_result = []; // Initialize outside try-catch block try { - $this->logger->info('Helper : Whatsapp'); + $this->logger->error('Helper : Whatsapp called'); $curl = curl_init(); $headers = array('Content-Type:application/json'); $jsonencoded = json_encode($data); curl_setopt($curl, CURLOPT_URL, $url); - $this->logger->info('Helper : Whatsapp url = ' . $url); + $this->logger->error('Helper : Whatsapp url = ' . $url); switch ($method) { case "POST": curl_setopt($curl, CURLOPT_POST, true); if ($data) { - $this->logger->info('Helper : Whatsapp jsonencoded = ' . $jsonencoded); + $this->logger->error('Helper : Whatsapp Request in jsonencoded Type = ' . $jsonencoded); curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonencoded); } break; @@ -114,7 +114,7 @@ class NotificationHelper curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); $curl_exec = curl_exec($curl); - $this->logger->info('Helper : Whatsapp Reponse = ' . $curl_exec); + $this->logger->error('Helper : Whatsapp Reponse = ' . $curl_exec); $http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($http_status === 200) { diff --git a/app/Models/NotificationModel.php b/app/Models/NotificationModel.php index 9d0e0640..1be59cc9 100644 --- a/app/Models/NotificationModel.php +++ b/app/Models/NotificationModel.php @@ -246,6 +246,12 @@ public function customerGroupQueryExecution($queries){ return $insertID; } + public function save_custom_notification_history_child($data){ + $this->db->table('notification_history_children')->insert($data); + $insertID = $this->db->insertID(); + return $insertID; + } + public function update_notification_history_child($data, $where){ $id = isset($where['id']) ? $where['id'] : ""; diff --git a/app/Views/notifications_form.php b/app/Views/notifications_form.php index 5b3a9d1d..caa9bc9d 100644 --- a/app/Views/notifications_form.php +++ b/app/Views/notifications_form.php @@ -159,8 +159,12 @@
- +
+ +
+ Upload JPEG Images Only.
+