You are here

protected function availability_calendar_handler_filter_availability::validate_valid_time_1 in Availability Calendars 7.5

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

Parameters

array $element:

array|string $value:

bool $required:

DateTime|bool $minimum:

string $minimum_error_message:

Return value

DateTime|bool A DateTime if the value could be parsed into a Datetime, true if the value could not be parsed into a valid date but is valid anyway (empty, default value), false otherwise.

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 470

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) {

  // 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)) {
    $result = !$required;
    if ($required) {
      form_error($element, t('Field %field is required.', array(
        '%field' => $element['#title'],
      )));
    }
  }
  else {
    if (($result = availability_calendar_parse_entry_date($value)) === FALSE) {

      // We accept non valid default values and treat them as empty, so they
      // can be filled with a "help text".
      $result = $value == $element['#default_value'];
      if (!$result) {
        form_error($element, t('Invalid date format.'));
      }
    }
    else {
      if ($minimum instanceof DateTime && $result < $minimum) {
        form_error($element, $minimum_error_message);
        $result = FALSE;
      }
    }
  }
  return $result;
}