You are here

function rooms_booking_availability_search_form_submit in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7

Submit callback for rooms_booking_availability_search_form form.

1 string reference to 'rooms_booking_availability_search_form_submit'
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 226
Contains the rooms_booking_availability_search_form builder.

Code

function rooms_booking_availability_search_form_submit(&$form, &$form_state) {
  list($start_date, $end_date) = rooms_form_input_get_start_end_dates($form_state);
  $units = $form_state['values']['rooms'];
  $rooms_query = array();
  if (isset($form_state['values']['unit_type'])) {
    if (!empty($form_state['values']['unit_type'])) {
      $rooms_query['type'] = $form_state['values']['unit_type'];
    }
    else {
      $rooms_query['type'] = 'all';
    }
  }

  // Get parameter for AvailabilityAgentSingleUnitFilter.
  if (isset($form_state['values']['rooms_id'])) {
    $rooms_query['rooms_id'] = $form_state['values']['rooms_id'];
  }
  $rooms_query += rooms_booking_manager_get_plugin_parameters($form_state);

  // Collect the values for booking parameters.
  foreach ($form_state['values'] as $key => $value) {
    $keys = explode(':', $key);
    if (count($keys) == 2) {
      if ($keys[0] == 'group_size_adults') {
        $rooms_query['rooms_group_size' . $keys[1]] = $value;
      }
      if ($keys[0] == 'group_size_children') {
        $rooms_query['rooms_children' . $keys[1]] = $value;
      }
    }
  }
  $form_state['redirect'] = array(
    'booking/' . $start_date
      ->format('Y-m-d') . '/' . $end_date
      ->format('Y-m-d') . '/' . $units . '/' . $form_state['single_day_bookings'],
    array(
      'query' => $rooms_query,
    ),
  );
}