"'.$currentDateTime.'"'; $qry = db_query($sql); while($notification_data=mysqli_fetch_object($qry)){ $body = ''; $rfq_info = find_all_field('rfq_master','','rfq_no="'.$notification_data->rfq_no.'"'); $notification_setup_info = find_all_field('notification_setup_information','','rfq_no="'.$notification_data->rfq_no.'"'); $currentDateTime = new DateTime(); $currentTimestamp = $currentDateTime->getTimestamp(); // Calculate the time range (-35 minutes and +35 minutes) $startRange = clone $currentDateTime; $startRange->modify('-35 minutes'); $endRange = clone $currentDateTime; $endRange->modify('+35 minutes'); // Convert next_notification_date_time to DateTime object $nextNotificationDateTime = new DateTime($notification_data->next_notification_date_time); $notification_start_date = new DateTime($notification_setup_info->notification_start_date); // Check if next_notification_date_time is within the time range // if ($nextNotificationDateTime >= $startRange && $nextNotificationDateTime <= $endRange) { // echo ""; // } if( $currentDateTime>=$notification_start_date){ if ($nextNotificationDateTime >= $startRange && $nextNotificationDateTime <= $endRange) { if($rfq_info->status=='CHECKED' && $rfq_info->notification_status=='Yes'){ $start_time = date('D, d M Y h:i a',strtotime($rfq_info->eventStartAt)); $end_time = date('D, d M Y h:i a',strtotime($rfq_info->eventEndAt)); $to=''; $subject = 'Reminder'.$rfq_info->rfq_version.' '.$rfq_info->rfx_stage.' for '.$rfq_info->event_name; $body .= '

Dear Concerned:

Please respond the RFQ on time, maintain all compliance.

'; $body .= '
'; $body .= 'Event : '.$rfq_info->event_name.'-'.$rfq_info->rfq_no; $body .= '
'; $body .= 'Start Time : '.$start_time; $body .= '
'; $body .= 'End Time : '.$end_time; $body .= '
'; $body .= 'View Event'; $body .= '
'; $body .= '
'; $body .= '
'; $body .= '
'; $body .= 'Thank You'; $body .= '
'; $body .= 'Robi eSourcing Platform'; $body .= '
'; $sql_rfq_team = 'select a.id,u.email,u.fname,a.action,a.is_master,m.event_name,m.master_rfq_no,m.rfq_version from rfq_evaluation_team a, user_activity_management u,rfq_master m where a.user_id=u.user_id and a.rfq_no="'.$rfq_info->rfq_no.'" and a.rfq_no=m.rfq_no'; $qry_rfq_team = db_query($sql_rfq_team); $teamsinfo = []; while ($rfq_team_each_member = mysqli_fetch_object($qry_rfq_team)) { $teamsinfo[] = $rfq_team_each_member; } $sql_vendor_email = 'select * from rfq_vendor_details where rfq_no ="'.$rfq_info->rfq_no.'"'; $qry_vendor_email = db_query($sql_vendor_email); while($vendor_email_data=mysqli_fetch_object($qry_vendor_email)){ if($rfq_info->notify_buyer == 'Yes'){ // echo ''; mailerwithCCReminder($vendor_email_data->email,$teamsinfo,$subject,$body); }else{ // echo ''; mailer($vendor_email_data->email,$subject,$body); } } $up = 'update notification_send_information set send_status="Yes" where id="'.$notification_data->id.'"'; db_query($up); //Next notification time add $rfq = find_all_field('rfq_master','','rfq_no="'.$rfq_info->rfq_no.'"'); //insert into notification table $_POST['rfq_no']= $rfq_info->rfq_no; $_POST['event_start_date'] =$rfq->eventStartDate; $_POST['event_start_time'] =$rfq->eventStartTime; $_POST['event_end_date'] =$rfq->eventEndDate; $_POST['event_end_time'] =$rfq->eventEndTime; $_POST['eventStartAt'] =$rfq->eventStartDate.' '.$rfq->eventStartTime; $eventStartAt_timestamp = strtotime($_POST['eventStartAt']); $next_notification_timestamp = $currentTimestamp + ($notification_setup_info->each_notification_interval * 3600); $next_notification_time_date = date('Y-m-d H:i:s', $next_notification_timestamp); $next_notification_date = date('Y-m-d', $next_notification_timestamp); $next_notification_time = date('H:i:s', $next_notification_timestamp); $_POST['next_notification_date_time'] =$next_notification_time_date; $_POST['next_notfication_time'] =$next_notification_time; $_POST['next_notification_date'] =$next_notification_date; $crud_notification = new Crud('notification_send_information'); $crud_notification->insert(); //nezt notification time add ends // echo $notification_setup_info->last_notfication_hour; // echo "br"; // echo $rfq_info->rfqeventEndAt; // $interval = new DateInterval('PT' . $notification_setup_info->last_notfication_hour . 'H'); // $lastNotificationHour = (new DateTime())->add($interval); // // Check if last notification time is after event end // if ($lastNotificationHour > new DateTime($rfq_info->eventEndAt) && $rfq_info->last_notification_send=='No') { // mailer($rfq_info->rfq_no,$subject,$body); // $up_2 = 'update rfq_master set last_notification_send="Yes" where rfq_no="'.$rfq_info->rfq_no.'"'; // db_query($up_2); // } // echo $lastNotificationHour = strtotime('+' . $notification_setup_info->last_notfication_hour . ' hours', $currentTimestamp); // // Check if last notification time is after event end // if ($lastNotificationHour >= strtotime($rfq_info->rfqeventEndAt)) { // // Perform action for exceeding last notification time // // (e.g., send a different notification or mark complete) // echo "Last notification time exceeded for RFQ: " . $rfq_info->rfq_no; // } } } } } //for last notification $currentDateTime = date('Y-m-d H:i:s'); $sql_last_notification = 'select * from rfq_master where notification_status="Yes" and last_notification_send="No" and eventEndAt>"'.$currentDateTime.'" and status="CHECKED"'; $qry_last_notification = db_query($sql_last_notification); while($rfq_info=mysqli_fetch_object($qry_last_notification)){ $start_time = date('D, d M Y h:i a',strtotime($rfq_info->eventStartAt)); $end_time = date('D, d M Y h:i a',strtotime($rfq_info->eventEndAt)); $subject = 'Reminder'.$rfq_info->rfq_version.' '.$rfq_info->rfx_stage.' for '.$rfq_info->event_name; $body .= '

Dear Concerned:

Please respond the RFQ on time, maintain all compliance.

'; $body .= '
'; $body .= 'Event : '.$rfq_info->event_name.'-'.$rfq_info->rfq_no; $body .= '
'; $body .= 'Start Time : '.$start_time; $body .= '
'; $body .= 'End Time : '.$end_time; $body .= '
'; $body .= 'View Event'; $body .= '
'; $body .= '
'; $body .= '
'; $body .= '
'; $body .= 'Thank You'; $body .= '
'; $body .= 'Robi eSourcing Platform'; $body .= '
'; $notification_setup_info = find_all_field('notification_setup_information','','rfq_no="'.$rfq_info->rfq_no.'"'); if( $notification_setup_info->notification_setup_id>0){ $interval = new DateInterval('PT' . $notification_setup_info->last_notfication_hour . 'H'); $lastNotificationHour = (new DateTime())->add($interval); // Check if last notification time is after event end if ($lastNotificationHour >= new DateTime($rfq_info->eventEndAt) && $rfq_info->last_notification_send=='No') { $sql_vendor_email = 'select * from rfq_vendor_details where rfq_no ="'.$rfq_info->rfq_no.'"'; $qry_vendor_email = db_query($sql_vendor_email); while($vendor_email_data=mysqli_fetch_object($qry_vendor_email)){ mailer($vendor_email_data->email,$subject,$body); } $up_2 = 'update rfq_master set last_notification_send="Yes" where rfq_no="'.$rfq_info->rfq_no.'"'; db_query($up_2); } } $body = ''; } //event end notification $sql_event_end_notfication_send = 'select * from rfq_master where event_end_notfication_send="No" and eventEndAt<"'.$currentDateTime.'" and status="CHECKED"'; $qry_event_end_notfication_send = db_query($sql_event_end_notfication_send); while($rfq_info=mysqli_fetch_object($qry_event_end_notfication_send)){ $body=''; $start_time = date('D, d M Y h:i a',strtotime($rfq_info->eventStartAt)); $end_time = date('D, d M Y h:i a',strtotime($rfq_info->eventEndAt)); $subject = 'Event Ended'.$rfq_info->rfq_version.' '.$rfq_info->rfx_stage.' for '.$rfq_info->event_name; $body .= '

Dear Concerned:

The event time ended

'; $body .= '
'; $body .= 'Event : '.$rfq_info->event_name.'-'.$rfq_info->rfq_no; $body .= '
'; $body .= 'Start Time : '.$start_time; $body .= '
'; $body .= 'End Time : '.$end_time; $body .= '
'; $body .= ''; $body .= '
'; $body .= '
'; $body .= '
'; $body .= '
'; $body .= 'Thank You'; $body .= '
'; $body .= 'Robi eSourcing Platform'; $body .= '
'; $sql_vendor_email = 'select * from rfq_vendor_details where rfq_no ="'.$rfq_info->rfq_no.'"'; $qry_vendor_email = db_query($sql_vendor_email); while($vendor_email_data=mysqli_fetch_object($qry_vendor_email)){ mailer($vendor_email_data->email,$subject,$body); $up_2 = 'update rfq_master set event_end_notfication_send="Yes" where rfq_no="'.$rfq_info->rfq_no.'"'; db_query($up_2); } } //event end notification } ?>