/** * Check if there's any admin-related actions to take for bookings. All actions are caught here. * @return null */ function em_admin_actions_bookings() { global $dbem_form_add_message; global $dbem_form_delete_message; global $wpdb, $EM_Booking, $EM_Event; if (current_user_can(EM_MIN_CAPABILITY) && is_object($EM_Booking) && !empty($_REQUEST['action'])) { if ($_REQUEST['action'] == 'bookings_delete') { //Delete if (isset($_POST['booking_id'])) { $EM_Booking = new EM_Booking($_POST['booking_id']); $EM_Booking->delete(); } } elseif ($_REQUEST['action'] == 'bookings_edit') { //Edit Booking $validation = $EM_Booking->get_post(); if ($validation) { //EM_Event gets the event if submitted via POST and validates it (safer than to depend on JS) //Save if ($EM_Booking->save()) { function em_booking_save_notification() { global $EM_Booking; ?> <div class="updated"><p><strong><?php echo $EM_Booking->feedback_message; ?> </strong></p></div><?php } } else { function em_booking_save_notification() { global $EM_Booking; ?> <div class="error"><p><strong><?php echo $EM_Booking->feedback_message; ?> </strong></p></div><?php } } } else { //TODO make errors clearer when saving person function em_booking_save_notification() { global $EM_Booking; ?> <div class="error"><p><strong><?php echo $EM_Booking->feedback_message; ?> </strong></p></div><?php } } add_action('admin_notices', 'em_booking_save_notification'); } elseif ($_REQUEST['action'] == 'bookings_approve' || $_REQUEST['action'] == 'bookings_reject' || $_REQUEST['action'] == 'bookings_unapprove') { //Booking Approvals $status_array = array('bookings_unapprove' => 0, 'bookings_approve' => 1, 'bookings_reject' => 2, 'bookings_cancel' => 3); if ($EM_Booking->set_status($status_array[$_REQUEST['action']])) { function em_booking_save_notification() { global $EM_Booking; ?> <div class="updated"><p><strong><?php echo $EM_Booking->feedback_message; ?> </strong></p></div><?php } } else { function em_booking_save_notification() { global $EM_Booking; ?> <div class="error"><p><strong><?php echo $EM_Booking->feedback_message; ?> </strong></p></div><?php } } add_action('admin_notices', 'em_booking_save_notification'); } elseif ($_REQUEST['action'] == 'bookings_add_note') { $EM_Booking->add_note($_REQUEST['booking_note']); function em_booking_save_notification() { global $EM_Booking; ?> <div class="updated"><p><strong><?php echo $EM_Booking->feedback_message; ?> </strong></p></div><?php } add_action('admin_notices', 'em_booking_save_notification'); } } elseif (current_user_can(EM_MIN_CAPABILITY) && is_object($EM_Event) && !empty($_REQUEST['action'])) { if ($_REQUEST['action'] == 'export_csv') { $EM_Event->get_bookings()->export_csv(); exit; } } }