function _date_field_settings in Date 6.2
Same name and namespace in other branches
- 5.2 date/date_admin.inc \_date_field_settings()
- 5 date_admin.inc \_date_field_settings()
- 6 date/date_admin.inc \_date_field_settings()
Implementation of hook_field_settings().
1 call to _date_field_settings()
- date_field_settings in date/
date.module
File
- date/
date_admin.inc, line 231 - Date administration code. Moved to separate file since there is a lot of code here that is not needed often.
Code
function _date_field_settings($op, $field) {
switch ($op) {
case 'form':
return date_field_settings_form($field);
case 'validate':
if (!in_array('year', $field['granularity'])) {
form_set_error('granularity', t('Granularity must include a year.'));
}
if ($field['tz_handling'] != 'none' && !in_array('hour', array_filter($field['granularity']))) {
form_set_error('tz_handling', t('Dates without hours granularity must not use any timezone handling.'));
}
break;
case 'save':
$options = array(
'granularity',
'timezone_db',
'tz_handling',
'todate',
'repeat',
'repeat_collapsed',
'default_format',
);
return $options;
case 'database columns':
return date_columns($field);
case 'views data':
$data = content_views_field_views_data($field);
$db_info = content_database_info($field);
$table_alias = content_views_tablename($field);
// Swap in the date multiple value handler for
// CCK's regular multiple value handler.
$data[$table_alias][$field['field_name'] . '_value']['field']['handler'] = 'date_handler_field_multiple';
// Unset the filter and argument handlers, dates can use the generic
// date argument and filter handlers created by the Date API.
//unset($data[$table_alias][$field['field_name'] .'_value']['argument']);
//unset($data[$table_alias][$field['field_name'] .'_value']['filter']);
$data[$table_alias][$field['field_name'] . '_value']['argument']['handler'] = 'date_api_argument_handler';
$data[$table_alias][$field['field_name'] . '_value']['filter']['handler'] = 'date_api_filter_handler';
// Add in another set of fields for the To date.
if (!empty($field['todate'])) {
$data[$table_alias][$field['field_name'] . '_value']['field']['title'] = $data[$table_alias][$field['field_name'] . '_value']['title'];
$data[$table_alias][$field['field_name'] . '_value']['field']['title short'] = $data[$table_alias][$field['field_name'] . '_value']['title short'];
$data[$table_alias][$field['field_name'] . '_value2'] = $data[$table_alias][$field['field_name'] . '_value'];
$data[$table_alias][$field['field_name'] . '_value']['title'] .= ' - ' . t('From date');
$data[$table_alias][$field['field_name'] . '_value']['title short'] .= ' - ' . t('From date');
$data[$table_alias][$field['field_name'] . '_value']['field']['title'] .= ' - ' . t('From date');
$data[$table_alias][$field['field_name'] . '_value']['field']['title short'] .= ' - ' . t('From date');
$data[$table_alias][$field['field_name'] . '_value2']['title'] .= ' - ' . t('To date');
$data[$table_alias][$field['field_name'] . '_value2']['title short'] .= ' - ' . t('To date');
$data[$table_alias][$field['field_name'] . '_value2']['field']['title'] .= ' - ' . t('To date');
$data[$table_alias][$field['field_name'] . '_value2']['field']['title short'] .= ' - ' . t('To date');
$data[$table_alias][$field['field_name'] . '_value2']['field']['field'] .= '2';
$data[$table_alias][$field['field_name'] . '_value2']['sort']['field'] .= '2';
}
return $data;
}
}