示例#1
0
/**
 * Check if the user has already booked a seat
 *
 * @param  int $user_id
 * @param  int $meetup_id
 * @return object|boolean
 */
function meetup_book_seat($user_id, $meetup_id, $num_of_seat = 1)
{
    global $wpdb;
    if ($prev_booking = meetup_has_user_booked($user_id, $meetup_id)) {
        // update the booking
        $quantity = intval($prev_booking->seat);
        $total = $num_of_seat - $quantity;
        if ($total < 0) {
            // user is reducing amount of seat
            // so we don't have any problem to update
        } else {
            // user is increasing the number of seat
            // we should check the availibility to see
            // if the additional seat is available
            if (!meetup_is_seat_available($meetup_id, $total)) {
                return new WP_Error('no-seat', __('Sorry, additional seat is not available.', 'meetup'));
            }
        }
        $wpdb->update($wpdb->prefix . 'meetup_users', array('seat' => $num_of_seat), array('user_id' => $user_id, 'meetup_id' => $meetup_id), array('%d'), array('%d', '%d'));
        do_action('meetup_booking_update', $meetup_id, $user_id, $prev_booking->id);
    } else {
        // create new booking
        if (!meetup_is_seat_available($meetup_id, $num_of_seat)) {
            return new WP_Error('no-seat', __('Sorry, your required number of seat(s) are not available.', 'meetup'));
        }
        $wpdb->insert($wpdb->prefix . 'meetup_users', array('user_id' => $user_id, 'meetup_id' => $meetup_id, 'seat' => $num_of_seat, 'created' => current_time('mysql')), array('%d', '%d', '%d', '%s'));
        $booking_id = $wpdb->insert_id;
        do_action('meetup_booking_new', $meetup_id, $user_id, $booking_id);
    }
    return true;
}
示例#2
0
                        <?php 
        } else {
            ?>

                            <div class="meetup-message">
                                <h4><?php 
            _e('We are filled up! No more seat available!', 'meetup');
            ?>
</h4>
                            </div>

                            <?php 
            if (is_user_logged_in()) {
                ?>
                                <?php 
                $has_booked = meetup_has_user_booked(get_current_user_id(), $post_id);
                ?>

                                <?php 
                if ($has_booked) {
                    ?>

                                    <div class="meetup-joined">
                                        <p>
                                            <?php 
                    printf(__('Congratulations! You\'ve booked %d seat(s).', 'meetup'), $has_booked->seat);
                    ?>
                                        </p>

                                        <p>
                                            <a href="#" class="meetup-cancel-booking" data-meetup-id="<?php