function rooms_booking_manager_retrieve_booking_parameters in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
Checks that the booking parameters given are valid. This is mainly used to clean up values that came through the URL and are set in $_GET.
Parameters
int $booking_units: The amount of booking units
array $booking_info: Booking info supplied
Return value
array An array of booking parameters
2 calls to rooms_booking_manager_retrieve_booking_parameters()
- 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.
- rooms_booking_manager_results_page in modules/
rooms_booking_manager/ rooms_booking_manager.module - Constructs the booking results page following an availability search.
File
- modules/
rooms_booking_manager/ rooms_booking_manager.module, line 674 - Rooms Booking Manager brings together all the pieces required to find a room and book it - including the DrupalCommerce integration
Code
function rooms_booking_manager_retrieve_booking_parameters($booking_units, $booking_info) {
$booking_units = check_plain($booking_units);
$booking_parameters = array();
if (variable_get('rooms_presentation_style', ROOMS_PER_TYPE) == ROOMS_INDIVIDUAL) {
if (variable_get('rooms_display_children', ROOMS_DISPLAY_CHILDREN_NO) == ROOMS_DISPLAY_CHILDREN) {
if (isset($booking_info['rooms_group_size1']) && isset($booking_info['rooms_children1'])) {
$booking_parameters[1]['adults'] = check_plain($booking_info['rooms_group_size1']);
$booking_parameters[1]['children'] = check_plain($booking_info['rooms_children1']);
}
else {
$booking_parameters = 0;
}
}
else {
if (isset($booking_info['rooms_group_size1'])) {
$booking_parameters[1]['adults'] = check_plain($booking_info['rooms_group_size1']);
}
else {
$booking_parameters = 0;
}
}
// If the booking parameter data was not valid invalidate the data.
if ($booking_parameters == 0) {
return FALSE;
}
else {
return $booking_parameters;
}
}
else {
// Given a certain number of units lets hunt in $booking_info for them.
for ($i = 1; $i <= $booking_units; $i++) {
// If not data has invalidated booking parameters yet.
if ($booking_parameters != 0) {
if (variable_get('rooms_display_children', ROOMS_DISPLAY_CHILDREN_NO) == ROOMS_DISPLAY_CHILDREN) {
if (isset($booking_info['rooms_group_size' . $i]) && isset($booking_info['rooms_children' . $i])) {
$booking_parameters[$i]['adults'] = check_plain($booking_info['rooms_group_size' . $i]);
$booking_parameters[$i]['children'] = check_plain($booking_info['rooms_children' . $i]);
}
else {
$booking_parameters = 0;
}
}
else {
if (isset($booking_info['rooms_group_size' . $i])) {
$booking_parameters[$i]['adults'] = check_plain($booking_info['rooms_group_size' . $i]);
}
else {
$booking_parameters = 0;
}
}
}
}
// If the booking parameter data was not valid or did not correspond to the
// number of units invalidate the data.
if ($booking_parameters == 0 || count($booking_parameters) < $booking_units) {
return FALSE;
}
else {
return $booking_parameters;
}
}
}