cancel-appointment.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. $appt_id = esc_html( $_POST['appt_id'] );
  3. $appt = get_post( $appt_id );
  4. $calendar_id = wp_get_post_terms( $appt_id, 'booked_custom_calendars' );
  5. $appt_author = $appt->post_author;
  6. $timeslot = get_post_meta( $appt_id,'_appointment_timeslot',true);
  7. $timestamp = get_post_meta( $appt_id,'_appointment_timestamp',true);
  8. $timeslots = explode('-',$timeslot);
  9. $timestamp_start = strtotime(date_i18n('Y-m-d',$timestamp).' '.$timeslots[0]);
  10. $current_timestamp = current_time('timestamp');
  11. if (get_current_user_id() == $appt_author):
  12. if ( $timestamp_start >= $current_timestamp ):
  13. // Send an email to the user?
  14. $email_content = get_option('booked_cancellation_email_content');
  15. $email_subject = get_option('booked_cancellation_email_subject');
  16. if ($email_content && $email_subject):
  17. $token_replacements = booked_get_appointment_tokens( $appt_id );
  18. $email_content = booked_token_replacement( $email_content,$token_replacements );
  19. $email_subject = booked_token_replacement( $email_subject,$token_replacements );
  20. do_action( 'booked_cancellation_email', $token_replacements['email'], $email_subject, $email_content );
  21. endif;
  22. // Send an email to the Admin?
  23. $email_content = get_option('booked_admin_cancellation_email_content');
  24. $email_subject = get_option('booked_admin_cancellation_email_subject');
  25. if ($email_content && $email_subject):
  26. $admin_email = booked_which_admin_to_send_email( $calendar_id );
  27. $token_replacements = booked_get_appointment_tokens( $appt_id );
  28. $email_content = booked_token_replacement( $email_content,$token_replacements );
  29. $email_subject = booked_token_replacement( $email_subject,$token_replacements );
  30. do_action( 'booked_admin_cancellation_email', $admin_email, $email_subject, $email_content, $token_replacements['email'], $token_replacements['name'] );
  31. endif;
  32. endif;
  33. do_action('booked_appointment_cancelled',$appt_id);
  34. wp_delete_post($appt_id,true);
  35. endif;