function rooms_booking_handler_unit_filter::validate_unit_strings in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
2 calls to rooms_booking_handler_unit_filter::validate_unit_strings()
- rooms_booking_handler_unit_filter::exposed_validate in modules/
rooms_booking/ views/ rooms_booking_handler_unit_filter.inc - Validate the exposed handler form.
- rooms_booking_handler_unit_filter::value_validate in modules/
rooms_booking/ views/ rooms_booking_handler_unit_filter.inc - Validate the options form.
File
- modules/
rooms_booking/ views/ rooms_booking_handler_unit_filter.inc, line 181
Class
Code
function validate_unit_strings(&$form, $values) {
if (empty($values)) {
return array();
}
$units = array();
$names = array();
$missing = array();
foreach ($values as $value) {
$missing[strtolower($value)] = TRUE;
$names[] = $value;
}
if (!$names) {
return FALSE;
}
$query = db_select('rooms_units', 't');
$query
->fields('t');
$query
->condition('t.name', $names);
$result = $query
->execute();
foreach ($result as $unit) {
unset($missing[strtolower($unit->name)]);
$units[] = $unit->unit_id;
}
if ($missing && !empty($this->options['error_message'])) {
form_error($form, format_plural(count($missing), 'Unable to find unit: @units', 'Unable to find units: @units', array(
'@units' => implode(', ', array_keys($missing)),
)));
}
elseif ($missing && empty($this->options['error_message'])) {
$units = array(
0,
);
}
return $units;
}