function global_filter_field_date_widget_form_alter in Views Global Filter 8
Same name and namespace in other branches
- 7 widgets/global_filter.datewidget.inc \global_filter_field_date_widget_form_alter()
Implements hook_field_widget_form_alter().
Responds to 'set_date_from_session' being set on the $form_state.
1 call to global_filter_field_date_widget_form_alter()
File
- widgets/
global_filter.datewidget.inc, line 51 - global_filter.datewidget.inc
Code
function global_filter_field_date_widget_form_alter(&$element, &$form_state, $context) {
if (!empty($form_state['set_date_from_session'])) {
$session_value = global_filter_get_session_value($element['#field_name']);
if (class_exists('date_sql_handler')) {
// Date module.
$date_range = new date_sql_handler();
$parts = $date_range
->arg_parts($session_value);
}
else {
// @todo Format needs to be parts[0][date][year,month,day]
// Use explode('--', $session_value); ?
$parts = array();
}
if (!empty($parts[0]['date'])) {
$field = $context['field'];
$instance = $context['instance'];
$lang = $context['langcode'];
$instance['settings']['default_value'] = 'strtotime';
$instance['settings']['default_value_code'] = implode('-', $parts[0]['date']);
if (!empty($parts[1]['date'])) {
$instance['settings']['default_value2'] = 'strtotime';
$instance['settings']['default_value_code2'] = implode('-', $parts[1]['date']);
}
// Date module.
$default_date_range = date_default_value($field, $instance, $lang);
$element['#default_value'] = reset($default_date_range);
}
}
}