function date_handler_fields in Date 6.2
Same name and namespace in other branches
- 5.2 date/date.module \date_handler_fields()
- 7 date_views/date_views.module \date_handler_fields()
Identify all fields in this view that use the CCK Date handler.
2 calls to date_handler_fields()
File
- date/
date.module, line 655 - Defines date/time field types for the Content Construction Kit (CCK).
Code
function date_handler_fields($view) {
$field_names = array();
if (empty($view->date_info->date_fields)) {
if (empty($view->date_info)) {
$view->date_info = new stdClass();
}
$view->date_info->date_fields = array();
}
foreach ($view->field as $field) {
if ($field->definition['handler'] == 'date_handler_field_multiple') {
$name = $field->field;
$group = $field->options['multiple'];
if (drupal_substr($name, -7) == '_value2') {
$field_name = drupal_substr($name, 0, strlen($name) - 7);
}
elseif (drupal_substr($name, -6) == '_value') {
$field_name = drupal_substr($name, 0, strlen($name) - 6);
}
else {
$field_name = '';
$group = array();
continue;
}
foreach ($view->date_info->date_fields as $date_field) {
if (strstr($date_field, '.' . $field_name)) {
$delta_field = 'node_data_' . $field_name . '_delta';
$field_names[$field_name] = array(
'options' => $group,
'delta_field' => $delta_field,
'view_field' => drupal_clone($field),
);
// Get rid of the huge view object in the field handler.
unset($field_names[$field_name]['view_field']->view);
}
}
}
}
return $field_names;
}