FIX_Implement sub menu for membership
This commit is contained in:
parent
9f1c5550df
commit
2590d153b4
@ -98,6 +98,7 @@ $routes->get("subscribers_list/", "Subscription::index");
|
|||||||
$routes->get("new_subscription_invoice/(:any)", "Invoice::new_subscription_invoice/$1");
|
$routes->get("new_subscription_invoice/(:any)", "Invoice::new_subscription_invoice/$1");
|
||||||
$routes->post("add_subscription/", "Subscription::add_subscription/");
|
$routes->post("add_subscription/", "Subscription::add_subscription/");
|
||||||
$routes->post('subscription/download_details', 'Subscription::download_details');
|
$routes->post('subscription/download_details', 'Subscription::download_details');
|
||||||
|
$routes->get("notify_the_expiry_subscribers/", "Subscription::notify_the_expiry_subscribers");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -571,9 +571,8 @@ class Notifications extends BaseController
|
|||||||
################################################################
|
################################################################
|
||||||
public function getExpCustomerDetail($window_time = null)
|
public function getExpCustomerDetail($window_time = null)
|
||||||
{
|
{
|
||||||
// Email flow only Whatsapp flow Deleted.
|
|
||||||
$this->update_expired_members();
|
$this->update_expired_members();
|
||||||
echo "Hi, ";
|
$response = "<pre> Hi, ";
|
||||||
# Step 1: add the days to retrive the data//
|
# Step 1: add the days to retrive the data//
|
||||||
$providedDate = date('Y-m-d');
|
$providedDate = date('Y-m-d');
|
||||||
$newDate = date('Y-m-d', strtotime($providedDate . ' + ' . $window_time . ' days'));
|
$newDate = date('Y-m-d', strtotime($providedDate . ' + ' . $window_time . ' days'));
|
||||||
@ -602,12 +601,17 @@ class Notifications extends BaseController
|
|||||||
$notification = new NotificationHelper();
|
$notification = new NotificationHelper();
|
||||||
if (empty($queryResult)) {
|
if (empty($queryResult)) {
|
||||||
$this->logger->error("There is no customer expiring on date:{$newDate}");
|
$this->logger->error("There is no customer expiring on date:{$newDate}");
|
||||||
echo " There is no customer expiring. till dated :{$newDate}";
|
$response .= " There is no customer expiring. till dated :{$newDate}";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$emailTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE EMAIL');
|
$emailTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE EMAIL');
|
||||||
echo "Started.<br> Customer expiring. till dated = ".date('d-m-Y', strtotime($newDate))." <br> There are ".count($queryResult)." persons <br>";
|
$response .= "Started.<br> Customer expiring. till dated = ".date('d/m/Y', strtotime($newDate))." <br> There are ".count($queryResult)." persons <br>";
|
||||||
|
if(!empty($queryResult)){
|
||||||
|
usort($queryResult, function ($a, $b) {
|
||||||
|
return $b['to_subscription'] <=> $a['to_subscription']; // Descending order
|
||||||
|
});
|
||||||
|
}
|
||||||
foreach ($queryResult as $inx => $row) {
|
foreach ($queryResult as $inx => $row) {
|
||||||
$status = $row['status'];
|
$status = $row['status'];
|
||||||
$userFirstName = $row['first_name'];
|
$userFirstName = $row['first_name'];
|
||||||
@ -623,12 +627,12 @@ class Notifications extends BaseController
|
|||||||
$this->logger->error('There is no subcription Name');
|
$this->logger->error('There is no subcription Name');
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
echo ($inx+1).") #".$customerId." - Person Name : ".$fullName." ----- ( Expiry on ". date('d-m-Y', strtotime($expirydate)).") <br>";
|
$response .= ($inx+1).") #".$customerId." - Person Name : ".$fullName." ----- ( Expiry on ". date('d/m/Y', strtotime($expirydate)).") <br>";
|
||||||
if ($status === 'Approved') {
|
if ($status === 'Approved') {
|
||||||
# EXPIRY NOTIFY TEMPLATE EMAIL
|
# EXPIRY NOTIFY TEMPLATE EMAIL
|
||||||
$emailTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE EMAIL');
|
$emailTemplateName = $NotificationModel->getTempName('EXPIRY NOTIFY TEMPLATE EMAIL');
|
||||||
if(empty($row['email'])){
|
if(empty($row['email'])){
|
||||||
echo ($inx+1).") Email Not Available <br>";
|
$response .= ($inx+1).") Email Not Available <br>";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -656,7 +660,7 @@ class Notifications extends BaseController
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($check_existing){
|
if($check_existing){
|
||||||
echo ($inx+1).") Email already send on - ".date('d-m-Y h:i A', strtotime($check_date))."<br>";
|
$response .= ($inx+1).") Email already send on - ".date('d/m/Y h:i A', strtotime($check_date))."<br>";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -717,7 +721,7 @@ class Notifications extends BaseController
|
|||||||
|
|
||||||
$history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id);
|
$history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id);
|
||||||
$this->logger->error($history_parent_statement);
|
$this->logger->error($history_parent_statement);
|
||||||
echo ($inx+1).") ".$history_msg."<br>";
|
$response .= ($inx+1).") ".$history_msg."<br>";
|
||||||
} else {
|
} else {
|
||||||
$history_msg = (strtolower(gettype($emailResult)) == "string" ? $emailResult : json_encode($emailResult)) ;
|
$history_msg = (strtolower(gettype($emailResult)) == "string" ? $emailResult : json_encode($emailResult)) ;
|
||||||
$history_child_updatedata = ['receiving_status'=>0,'result'=>$history_msg];
|
$history_child_updatedata = ['receiving_status'=>0,'result'=>$history_msg];
|
||||||
@ -727,18 +731,18 @@ class Notifications extends BaseController
|
|||||||
|
|
||||||
$history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id);
|
$history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id);
|
||||||
$this->logger->error($history_parent_statement);
|
$this->logger->error($history_parent_statement);
|
||||||
echo ($inx+1).") Failed to send email <br>";
|
$response .= ($inx+1).") Failed to send email <br>";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$history_msg = 'There is no email template found by the name of EXPIRY NOTIFY TEMPLATE EMAIL';
|
$history_msg = 'There is no email template found by the name of EXPIRY NOTIFY TEMPLATE EMAIL';
|
||||||
// $receiving_status = 0 ;
|
// $receiving_status = 0 ;
|
||||||
$this->logger->error($history_msg);
|
$this->logger->error($history_msg);
|
||||||
echo $history_msg."<br>";
|
$response .= $history_msg."<br>";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
echo ($inx+1).") Staus = ".$status." <br>";
|
$response .= ($inx+1).") Staus = ".$status." <br>";
|
||||||
$this->logger->error("status is Draft");
|
$this->logger->error("status is Draft");
|
||||||
}
|
}
|
||||||
# EXPIRY NOTIFY TEMPLATE EMAIL Closed
|
# EXPIRY NOTIFY TEMPLATE EMAIL Closed
|
||||||
@ -765,7 +769,7 @@ class Notifications extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($check_existing2){
|
if($check_existing2){
|
||||||
echo ($inx+1).") whatsapp already send ".$check_date2."<br>";
|
$response .= ($inx+1).") whatsapp already send ".$check_date2."<br>";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
# EXPIRY NOTIFY TEMPLATE WHATSAPP
|
# EXPIRY NOTIFY TEMPLATE WHATSAPP
|
||||||
@ -785,7 +789,7 @@ class Notifications extends BaseController
|
|||||||
$history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id);
|
$history_parent_statement = $NotificationModel->update_notification_history_parent_status(['status' => 1],$history_parent_id,$campaign_id);
|
||||||
$this->logger->error($history_parent_statement);
|
$this->logger->error($history_parent_statement);
|
||||||
$this->logger->error($history_msg);
|
$this->logger->error($history_msg);
|
||||||
echo ($inx+1).") ".$history_msg."<br>";
|
$response .= ($inx+1).") ".$history_msg."<br>";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
# Insertion on History Whatsapp Means Campaign ID 2 Hardcoded
|
# Insertion on History Whatsapp Means Campaign ID 2 Hardcoded
|
||||||
@ -839,7 +843,7 @@ class Notifications extends BaseController
|
|||||||
$this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Reponse = " . $history_msg);
|
$this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Reponse = " . $history_msg);
|
||||||
|
|
||||||
if(strtolower(gettype($whatsapp_result)) == "string"){
|
if(strtolower(gettype($whatsapp_result)) == "string"){
|
||||||
echo ($inx+1).") ".$whatsapp_result."<br>";
|
$response .= ($inx+1).") ".$whatsapp_result."<br>";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$result = json_encode($whatsapp_result['reponse']);
|
$result = json_encode($whatsapp_result['reponse']);
|
||||||
@ -847,18 +851,18 @@ class Notifications extends BaseController
|
|||||||
if ($decodedResult && isset($decodedResult['message']['key']['remoteJid'])) {
|
if ($decodedResult && isset($decodedResult['message']['key']['remoteJid'])) {
|
||||||
$remoteJid = $decodedResult['message']['key']['remoteJid'];
|
$remoteJid = $decodedResult['message']['key']['remoteJid'];
|
||||||
$this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Remote Jid = " . $remoteJid);
|
$this->logger->error("EXPIRAY NOTIFY TEMPLATE WHATSAPP Remote Jid = " . $remoteJid);
|
||||||
echo ($inx+1).") Whatsapp sent successfully <br>";
|
$response .= ($inx+1).") Whatsapp sent successfully <br>";
|
||||||
} else {
|
} else {
|
||||||
// echo "Failed to extract remoteJid";
|
// echo "Failed to extract remoteJid";
|
||||||
$this->logger->error("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 <br>";
|
$response .= ($inx+1).") Failed to send Whatsapp <br>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// $receiving_status = 0;
|
// $receiving_status = 0;
|
||||||
$history_msg = 'There is no Whatsapp template found by the name of EXPIRAY NOTIFY TEMPLATE WHATSAPP ';
|
$history_msg = 'There is no Whatsapp template found by the name of EXPIRAY NOTIFY TEMPLATE WHATSAPP ';
|
||||||
$this->logger->error($history_msg);
|
$this->logger->error($history_msg);
|
||||||
echo "There is no Whatsapp template <br>";
|
$response .= "There is no Whatsapp template <br>";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
# EXPIRY NOTIFY TEMPLATE WHATSAPP Closed
|
# EXPIRY NOTIFY TEMPLATE WHATSAPP Closed
|
||||||
@ -867,8 +871,10 @@ class Notifications extends BaseController
|
|||||||
$this->logger->error("status is draft");
|
$this->logger->error("status is draft");
|
||||||
}
|
}
|
||||||
# Loop Closed
|
# Loop Closed
|
||||||
echo "Process Completed <br>";
|
|
||||||
}
|
}
|
||||||
|
$response .= "Process Completed <br></pre>";
|
||||||
|
return $this->response->setBody($response);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -281,9 +281,10 @@ public function download_details()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function notify_the_expiry_subscribers(){
|
||||||
|
$data['page_name'] = 'Notify the Expiry Subscribers';
|
||||||
|
$this->render_page('notify_the_expiry_subscribers',$data);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// public function generate_pdf()
|
// public function generate_pdf()
|
||||||
|
|||||||
47
app/Views/notify_the_expiry_subscribers.php
Executable file
47
app/Views/notify_the_expiry_subscribers.php
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body"><br>
|
||||||
|
<h4 class="header-title mb-3"><?= $page_name; ?></h4>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<input type="number" class="form-control" id="params" name="params" placeholder="Number of Days" required />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<button type="button" id="callajax" class="btn btn-primary" onclick="sendsms()">Send Message</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<br>
|
||||||
|
<div class="col-md-12" style="margin: 15px;" id="target-div"></div>
|
||||||
|
</div>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
|
</div><!-- end row-->
|
||||||
|
<script>
|
||||||
|
function sendsms(){
|
||||||
|
var params = $("#params").val();
|
||||||
|
|
||||||
|
if(params && params > 0){
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: "<?= base_url() . 'getExpCustomerDetail/'?>"+params,
|
||||||
|
success: function(response) {
|
||||||
|
$('#target-div').html(response); // Insert raw HTML into the target div
|
||||||
|
$("#params").val('');
|
||||||
|
console.log(response);
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error("AJAX Error:", error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}else{
|
||||||
|
alert("Invalid Numbers");
|
||||||
|
$("#params").val('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@ -86,7 +86,7 @@
|
|||||||
$message = "Expires in $daysRemaining days";
|
$message = "Expires in $daysRemaining days";
|
||||||
} else {
|
} else {
|
||||||
$class = 'text-success';
|
$class = 'text-success';
|
||||||
$message = "Expired in $daysRemaining days";
|
$message = "Expires in $daysRemaining days";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@ -185,11 +185,29 @@
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php if ($loggedin_person_role !== 'sadmin') : ?>
|
<?php if ($loggedin_person_role !== 'sadmin') : ?>
|
||||||
<li>
|
<li>
|
||||||
|
<a href="#subscribersLayouts" data-toggle="collapse">
|
||||||
|
<i class="ri-shield-user-line"></i>
|
||||||
|
<span> Members </span>
|
||||||
|
<span class="menu-arrow"></span>
|
||||||
|
</a>
|
||||||
|
<div class="collapse" id="subscribersLayouts">
|
||||||
|
<ul class="nav-second-level">
|
||||||
|
<li>
|
||||||
|
<a href="<?= base_url()."subscribers_list"; ?>">Membership list</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="<?= base_url()."notify_the_expiry_subscribers"; ?>">Send Expiry message</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<!-- <li>
|
||||||
<a href="<?= base_url()."subscribers_list"; ?>">
|
<a href="<?= base_url()."subscribers_list"; ?>">
|
||||||
<i class="ri-shield-user-line"></i>
|
<i class="ri-shield-user-line"></i>
|
||||||
<span>Members </span>
|
<span>Members </span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li> -->
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php if ($loggedin_person_role !== 'manager' && $loggedin_person_role !== 'sadmin') : ?>
|
<?php if ($loggedin_person_role !== 'manager' && $loggedin_person_role !== 'sadmin') : ?>
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user