Ejemplo n.º 1
0
function srvc_book_is_timeslot_blocked($vdate, $timeslot)
{
    $cur_date = date("Ymd", time());
    if ($cur_date - $vdate > 0) {
        // before today
        return true;
    } else {
        if ($cur_date == $vdate) {
            $dayOfWeek = date("N", time());
            $hour_buffer = $dayOfWeek == 6 || $dayOfWeek == 7 ? HOUR_BUFFER_4_BOOK_WEEKEND : HOUR_BUFFER_4_BOOK_WEEKDAY;
            // only the hours after HOUR_BUFFER_4_BOOK is available
            $bar_time = time() + SEC_PER_HOUR * $hour_buffer;
            $bar_timeslot = date("H", $bar_time) * MIN_PER_HOUR + date("i", $bar_time);
            if ($bar_timeslot - $timeslot > 0) {
                return true;
            }
        }
    }
    $err = impl_book_timeslot_is_locked($vdate, $timeslot);
    return $err;
}
Ejemplo n.º 2
0
function impl_book_query_lock($prev_n, $next_n, &$result_arr)
{
    $begin_day = time() - $prev_n * SEC_PER_DAY;
    for ($k = 0; $k < $prev_n + $next_n; $k++) {
        $blocked_slots = [];
        $blocked_slots_len = 0;
        $cur = $begin_day + $k * SEC_PER_DAY;
        $vdate = date("Ymd", $cur);
        if (impl_book_date_is_locked($vdate)) {
            $blocked_slots[] = "all";
            $blocked_slots_len++;
        }
        for ($cur_hour = OPEN_HOUR_BEGIN; $cur_hour <= OPEN_HOUR_END; $cur_hour += OPEN_HOUR_SLOT) {
            if (impl_book_timeslot_is_locked($vdate, $cur_hour)) {
                $blocked_slots[] = $cur_hour;
                $blocked_slots_len++;
            }
        }
        if ($blocked_slots_len > 0) {
            $result_arr[$vdate] = $blocked_slots;
        }
    }
    return BOOK_CODE_OK;
}