You are here

function partial_date_field_is_empty in Partial Date 7

Implements hook_field_is_empty().

2 calls to partial_date_field_is_empty()
_partial_date_element_validate in ./partial_date.admin.inc
TODO: Validates the date type to stop dates like February 30, 2006.
_partial_date_field_validate in ./partial_date.admin.inc
Implements hook_field_validate().

File

./partial_date.module, line 220
Defines a date element that allows for any combination of date granularity settings.

Code

function partial_date_field_is_empty($item, $field) {
  if (isset($item['_remove']) && $item['_remove'] || !is_array($item)) {
    return TRUE;
  }
  foreach (array(
    'from',
    'to',
  ) as $base) {
    if (empty($item[$base])) {
      continue;
    }
    foreach (partial_date_components() as $key => $label) {
      if ($key == 'timezone') {
        continue;
      }
      if (isset($item[$base][$key]) && strlen($item[$base][$key])) {
        return FALSE;
      }
      if (isset($item[$base][$key . '_estimate']) && strlen($item[$base][$key . '_estimate'])) {
        return FALSE;
      }
    }
  }
  return !(isset($item['txt_short']) && strlen($item['txt_short']) || isset($item['txt_long']) && strlen($item['txt_long']));
}