function cck_time_process in CCK Time 6
Process the element before displaying the field.
Build the form element. When creating a form using FAPI #process, note that $element['#value'] is already set.
The $fields array is in $form['#field_info'][$element['#field_name']].
1 string reference to 'cck_time_process'
- cck_time_elements in ./
cck_time.module - Implementation of hook_elements().
File
- ./
cck_time.module, line 192
Code
function cck_time_process($element, $edit, $form_state, $form) {
drupal_add_css(drupal_get_path('module', 'cck_time') . '/cck_time.css', 'module', 'screen', FALSE);
$field = $form['#field_info'][$element['#field_name']];
$delta = $element['#delta'];
$required = $delta == 0 && $field['required'] ? $element['#required'] : FALSE;
$clock = isset($field['format']) && !empty($field['format']) ? (int) $field['format'] : 24;
$increment = isset($field['increment']) && !empty($field['increment']) ? (int) $field['increment'] : 1;
if ($increment < 1) {
$increment = 1;
}
switch ($clock) {
case 12:
$h_min = 1;
$h_max = 12;
break;
case 24:
default:
$h_min = 0;
$h_max = 23;
break;
}
// hours
$hours = $required ? array() : array(
'' => '',
);
for ($i = $h_min; $i <= $h_max; $i++) {
if ($clock == 24) {
$val = $i < 10 ? "0{$i}" : $i;
$hours[$val] = $val;
}
else {
$hours[$i] = $i;
}
}
// minutes
$minutes = $required ? array() : array(
'' => '',
);
for ($i = 0; $i <= 59; $i += $increment) {
$val = $i < 10 ? "0{$i}" : $i;
$minutes[$val] = $val;
}
$form = array();
$element['#type'] = 'fieldset';
$element['#attributes'] = array(
'class' => 'cck-time',
);
$element['#title'] = t($field['widget']['label']);
$element['hour'] = array(
'#type' => 'select',
'#title' => '',
'#options' => $hours,
'#required' => $required,
'#default_value' => isset($element['#value']['hour']) ? $element['#value']['hour'] : NULL,
'#prefix' => '<div class="cck-time-element">',
'#suffix' => '</div>',
);
$element['minute'] = array(
'#type' => 'select',
'#title' => '',
'#options' => $minutes,
'#required' => $required,
'#default_value' => isset($element['#value']['minute']) ? $element['#value']['minute'] : NULL,
'#prefix' => '<div class="cck-time-element">',
'#suffix' => '</div>',
);
if ($clock == 12) {
$element['meridiem'] = array(
'#type' => 'select',
'#title' => '',
'#options' => array(
'AM' => 'AM',
'PM' => 'PM',
),
'#required' => $required,
'#default_value' => isset($element['#value']['meridiem']) ? $element['#value']['meridiem'] : NULL,
'#prefix' => '<div class="cck-time-element">',
'#suffix' => '</div>',
);
}
if (isset($element['#value']) && !$form_state['submitted']) {
//remove this entry from $element or it is going to cause the display
//of the word 'Array' at the end of the fieldset because it contains
//$element['#value']['hour'] etc.
unset($element['#value']);
}
return $element;
}