Example #1
0
 /**
  * Cancel a meetup booking
  *
  * @return void
  */
 function cancel_booking()
 {
     check_ajax_referer('meetup-nonce');
     $user_id = get_current_user_id();
     $meetup_id = (int) $_POST['meetup_id'];
     $booking_id = (int) $_POST['booking_id'];
     meetup_cancel_seat($user_id, $meetup_id, $booking_id);
     wp_send_json_success(__('Your booking has been cancelled!', 'meetup'));
     exit;
 }
Example #2
0
/**
 * Cancel a meetup from admin panel
 *
 * @return void
 */
function meetup_admin_cancel_booking()
{
    if (!current_user_can('manage_options')) {
        return;
    }
    check_admin_referer('meetup-cancel-booking');
    $meetup_id = isset($_REQUEST['meetup_id']) ? intval($_REQUEST['meetup_id']) : 0;
    $booking_id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;
    $user_id = isset($_REQUEST['user_id']) ? intval($_REQUEST['user_id']) : 0;
    meetup_cancel_seat($user_id, $meetup_id, $booking_id);
    wp_redirect(admin_url('edit.php?post_type=meetup&page=meetup-attendies&message=cancel&meetup_id=' . $meetup_id));
}
Example #3
0
/**
 * Handle actions from email link
 *
 * @return void
 */
function meetup_handle_email_action()
{
    $action = isset($_GET['action']) ? $_GET['action'] : '';
    if (!in_array($action, array('meetup_confirm', 'meetup_cancel'))) {
        return;
    }
    $uid = isset($_GET['uid']) ? intval($_GET['uid']) : 0;
    $mid = isset($_GET['mid']) ? intval($_GET['mid']) : 0;
    $bid = isset($_GET['bid']) ? intval($_GET['bid']) : 0;
    $key = isset($_GET['key']) ? $_GET['key'] : 0;
    if ($uid && $mid && $key) {
        $hash = get_user_meta($uid, '_meetup_email_hash', true);
        if ($hash == $key) {
            delete_user_meta($uid, '_meetup_email_hash');
            if ($action == 'meetup_confirm') {
                meetup_seat_change_status($bid, 2);
                // set status to booked
                $redirect_url = add_query_arg(array('msg' => 'meetup_confirmed'), get_permalink($mid));
            } else {
                if ($action == 'meetup_cancel') {
                    meetup_cancel_seat($uid, $mid, $bid);
                    $redirect_url = add_query_arg(array('msg' => 'meetup_cancelled'), get_permalink($mid));
                }
            }
        } else {
            $redirect_url = add_query_arg(array('msg' => 'hash_error'), get_permalink($mid));
        }
        wp_redirect($redirect_url);
        exit;
    }
}