You are here

protected function availability_calendar_handler_filter_availability::validate_valid_time_1 in Availability Calendars 7.4

Same name and namespace in other branches
  1. 7.5 views/availability_calendar_handler_filter_availability.inc \availability_calendar_handler_filter_availability::validate_valid_time_1()
  2. 7.3 availability_calendar_handler_filter_availability.inc \availability_calendar_handler_filter_availability::validate_valid_time_1()

Parameters

array $element:

array|DateTime $value:

bool $required:

DateTime|null $minimum:

string $minimum_error_message:

Return value

DateTime|false

1 call to availability_calendar_handler_filter_availability::validate_valid_time_1()
availability_calendar_handler_filter_availability::validate_value in views/availability_calendar_handler_filter_availability.inc
Validate that the values convert to something usable.

File

views/availability_calendar_handler_filter_availability.inc, line 303

Class

availability_calendar_handler_filter_availability
Views handler to filter on availability.

Code

protected function validate_valid_time_1(&$element, $value, $required, $minimum, $minimum_error_message) {
  $valid = TRUE;

  // If date popup is enabled, the value will be an array (with a date and
  // time component).
  if (is_array($value)) {
    $value = $value['date'];
  }
  if (empty($value) || $value === $element['#default_value']) {
    if ($required) {
      form_error($element, t('Field %field is required.', array(
        '%field' => $element['#title'],
      )));
      $valid = FALSE;
    }
  }
  else {
    if (($value = availability_calendar_parse_entry_date($value)) === FALSE) {
      form_error($element, t('Invalid date format.'));
      $valid = FALSE;
    }
    else {
      if ($minimum instanceof DateTime && $value < $minimum) {
        form_error($element, $minimum_error_message);
        $valid = FALSE;
      }
    }
  }
  return $valid ? $value : $valid;
}