You are here

function global_filter_create_proximity_widget in Views Global Filter 8

Same name and namespace in other branches
  1. 7 widgets/global_filter.proximitywidget.inc \global_filter_create_proximity_widget()

Create the proximity widget.

1 call to global_filter_create_proximity_widget()
global_filter_create_widget in ./global_filter.widgets.inc
Based on the requested or field-implied widget.

File

widgets/global_filter.proximitywidget.inc, line 11
global_filter.proximitywidget.inc

Code

function global_filter_create_proximity_widget($filter_key, &$form, &$form_state) {
  $name = $form_state['global_filters'][$filter_key]['name'];
  $proximity = global_filter_get_session_value($name);
  if (!empty($proximity) && is_object($proximity)) {
    $location = $proximity->location;
    $distance = $proximity->distance;
  }
  else {
    $location = $distance = '';
  }
  if (isset($form_state['input']['distance'])) {
    $distance = $form_state['input']['distance'];
  }
  if (isset($form_state['input']['location'])) {
    $location = $form_state['input']['location'];
  }
  $form[$name] = array(
    '#type' => 'fieldset',
    '#element_validate' => array(
      'global_filter_proximity_widget_validate',
    ),
  );
  $form[$name]['distance'] = array(
    '#title' => t('Within '),
    '#type' => 'textfield',
    '#size' => 6,
    '#maxlength' => 16,
    '#default_value' => $distance,
  );
  $form[$name]['location'] = array(
    '#title' => t('from'),
    '#type' => 'textfield',
    '#size' => 22,
    '#maxlength' => 127,
    '#default_value' => $location,
    '#description' => t('Enter city or partial address'),
  );
}