function rooms_booking_availability_search_form_validate in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
Validate callback form rooms_booking_availability_search_form form.
1 string reference to 'rooms_booking_availability_search_form_validate'
- rooms_booking_availability_search_form_builder in modules/
rooms_booking_manager/ rooms_booking_manager.availability_search.inc - Form callback for rooms_booking_availability_search_form_builder.
File
- modules/
rooms_booking_manager/ rooms_booking_manager.availability_search.inc, line 197 - Contains the rooms_booking_availability_search_form builder.
Code
function rooms_booking_availability_search_form_validate(&$form, &$form_state) {
list($start_date, $end_date) = rooms_form_input_get_start_end_dates($form_state);
if (empty($start_date)) {
return;
}
// This indicate to the rooms_form_start_end_dates_validate handler to
// enable today greater validation.
$form_state['today_greater_validation'] = TRUE;
// Ensure start date is good based on the rooms_booking_start_date variable.
$now = new DateTime();
$diff1 = $now
->setTime(0, 0, 0)
->diff($start_date);
$rooms_booking_start_date = variable_get('rooms_booking_start_date', 1);
// Check the difference in number of days.
if ($diff1->days < $rooms_booking_start_date && !user_access('make same-day bookings')) {
form_set_error('rooms_date_range', t('Bookings must be made at least @count_days in advance.', array(
'@count_days' => format_plural($rooms_booking_start_date, '1 day', '@count days'),
)));
}
// Validate form elements provided by other availability search plugins.
ctools_include('plugins');
$filters = ctools_get_plugins('rooms_booking', 'availabilityagent_filter');
foreach ($filters as $filter) {
$class = ctools_plugin_get_class($filter, 'handler');
$class::availabilitySearchFormValidate($form, $form_state);
}
}