function date_all_day_date_combo_process_alter in Date 8
Same name and namespace in other branches
- 7.3 date_all_day/date_all_day.module \date_all_day_date_combo_process_alter()
- 7.2 date_all_day/date_all_day.module \date_all_day_date_combo_process_alter()
Implements hook_date_combo_process_alter().
This hook lets us make changes to the date_combo element.
File
- date_all_day/
date_all_day.module, line 179 - Adds All Day functionality to the Date field.
Code
function date_all_day_date_combo_process_alter(&$element, &$form_state, $context) {
$field = $context['field'];
$instance = $context['instance'];
// Add the all_day checkbox to the combo element.
if (!empty($instance['widget']['settings']['display_all_day'])) {
$parents = $element['#parents'];
$first_parent = array_shift($parents);
$all_day_id = $first_parent . '[' . implode('][', $parents) . '][all_day]';
foreach (array(
'value',
'value2',
) as $key) {
if (array_key_exists($key, $element)) {
$element[$key]['#date_all_day_id'] = $all_day_id;
}
}
$from = $element['#default_value']['value'];
$to = !empty($element['#default_value']['value2']) ? $element['#default_value']['value2'] : $element['#default_value']['value'];
$date_is_all_day = date_is_all_day($from, $to);
$all_day = !empty($form_state['values']['all_day']) || $date_is_all_day;
$element['all_day'] = array(
'#title' => t('All Day'),
'#type' => 'checkbox',
'#default_value' => $all_day,
'#weight' => -21,
'#prefix' => '<div class="date-float">',
'#suffix' => '</div>',
);
}
else {
$form['all_day']['#type'] = 'hidden';
$form['all_day']['#value'] = 0;
}
}