function hms_field_views_handler_filter_hms::value_form in HMS Field 7
Provide a simple textfield for equality
Overrides views_handler_filter_numeric::value_form
File
- views/
hms_field_views_handler_filter_hms.inc, line 21 - Definition of hms_field_views_handler_filter_hms.
Class
- hms_field_views_handler_filter_hms
- Filter to handle hms fields stored as a integer.
Code
function value_form(&$form, &$form_state) {
$input = $form_state['input'];
parent::value_form($form, $form_state);
// We need to set our own input values, they are special.
$form_state['input'] = $input;
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
}
$children = element_children($form['value']);
if (!count($children)) {
if ($form['value']['#type'] == 'textfield') {
$form['value']['#type'] = 'hms';
$form['value']['#format'] = $this->options['value']['input_format'];
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = _hms_seconds_to_formatted($this->value['value'], $this->options['value']['input_format']);
if (empty($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = '';
}
}
}
}
else {
foreach ($children as $key) {
if ($form['value'][$key]['#type'] == 'textfield') {
$form['value'][$key]['#type'] = 'hms';
$form['value'][$key]['#format'] = $this->options['value']['input_format'];
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier][$key])) {
$form_state['input'][$identifier][$key] = _hms_seconds_to_formatted($this->value[$key], $this->options['value']['input_format']);
if (empty($form_state['input'][$identifier][$key])) {
$form_state['input'][$identifier][$key] = '';
}
}
}
}
}
}