function _calendar_systems_views_exposed_form_validate in Calendar Systems 8
Same name and namespace in other branches
- 7 calendar_systems.module \_calendar_systems_views_exposed_form_validate()
- 7.2 calendar_systems.module \_calendar_systems_views_exposed_form_validate()
@todo supporting month and day only filters and contextual filters
Parameters
$element:
$form_state:
1 string reference to '_calendar_systems_views_exposed_form_validate'
- calendar_systems_form_alter in ./
calendar_systems.module - Implements hook_form_alter().
File
- ./
calendar_systems.module, line 369 - Contains Calendar Systems hook implementations and helpers.
Code
function _calendar_systems_views_exposed_form_validate($element, &$form_state) {
$position = -1;
foreach ($form_state['view']->display_handler->handlers['argument'] as $filter_name => $filter) {
$position++;
$filter_class = get_class($filter);
if ($filter_class == 'date_views_argument_handler' || $filter_class == 'date_views_argument_handler_simple' || $filter_class == 'views_handler_filter_date' || $filter_class == 'views_handler_argument_node_created_fulldate' || $filter_class == 'views_handler_argument_node_created_year' || $filter_class == 'views_handler_argument_node_created_year_month') {
$value =& $form_state['view']->args[$position];
if (!empty($value)) {
if ($filter_class == 'views_handler_argument_node_created_fulldate') {
$convert_option['iso_fixed_position'] = TRUE;
}
$date_format = $filter->arg_format;
$options = array();
if ($filter_class == 'views_handler_argument_node_created_fulldate' || $filter_class == 'views_handler_argument_node_created_year' || $filter_class == 'views_handler_argument_node_created_year_month') {
$options['iso_fixed_size_position'] = TRUE;
}
$value = _calendar_systems_date_convert($value, $date_format, NULL, $options);
}
}
}
foreach ($form_state['view']->display_handler->handlers['filter'] as $filter_name => $filter) {
$filter_class = get_class($filter);
if ($filter_class == 'date_views_filter_handler' || $filter_class == 'date_views_filter_handler_simple' || $filter_class == 'views_handler_filter_date') {
if (!empty($form_state['view']->exposed_input[$filter_name]['value'])) {
foreach (array(
'value',
'value2',
'min',
'max',
) as $index) {
if (isset($form_state['view']->exposed_input[$filter_name][$index])) {
if (isset($form_state['view']->exposed_input[$filter_name][$index]['date'])) {
$orig_date =& $form_state['view']->exposed_input[$filter_name][$index]['date'];
}
else {
$orig_date =& $form_state['view']->exposed_input[$filter_name][$index];
}
$value = _calendar_systems_date_convert($orig_date, $element[$filter_name][$index]['#date_format']);
$is_empty = TRUE;
if (is_array($value) && class_exists('DateObject')) {
if (@(!empty($value['year']))) {
$is_empty = FALSE;
}
$date = new DateObject($value);
$value = $date
->format($element[$filter_name][$index]['#date_format']);
}
else {
if (!empty($value)) {
$is_empty = FALSE;
}
}
$form_state['view']->exposed_input[$filter_name][$index] = $value;
}
}
}
}
}
}