geocode_widget_admin_widget_settings

geocode/modules/geocode_widget/includes/geocode_widget.admin.inc, line 5

Versions
6
geocode_widget_admin_widget_settings($op, $widget)

Implementation of hook_widget_settings().

▾ 2 functions call geocode_widget_admin_widget_settings()

geocode_widget_widget_settings in geocode/modules/geocode_widget/geocode_widget.module
Implementation of hook_widget_settings().
geocode_widget_widget_settings in geocode/modules/geocode_widget/geocode_widget.module
Implementation of hook_widget_settings().

Code

<?php
function geocode_widget_admin_widget_settings($op, $widget) {
  switch ($op) {
    case 'form':
      $form = array();
      // Select field(s) to geocode from, and associated handlers.
      $data_type = str_replace('geocode_', '', $widget['type']);
      if ($fields = geocode_widget_available_fields($data_type)) {
        $form['geocode_fields'] = array(
          '#tree' => TRUE,
          '#theme' => 'geocode_widget_settings_form',
        );
        foreach ($fields as $name => $field) {
          $form['geocode_fields'][$name] = array();
          $form['geocode_fields'][$name]['status'] = array(
            '#type' => 'checkbox',
            '#title' => $field['widget']['label'],
            '#default_value' => $widget['geocode_fields'][$name]['status'],
          );

          $handlers = $return = array();
          foreach ($field['geocode_handlers'] as $handler => $info) {
            $handlers[$handler] = isset($info['title']) ? $info['title'] : $handler;
            $return[$handler] = $info['return types'][$data_type];
          }

          $form['geocode_fields'][$name]['handler'] = array(
            '#type' => 'select',
            '#title' => t('Geocode handler'),
            '#options' => $handlers,
            '#default_value' => $widget['geocode_fields'][$name]['handler'],
          );

          $form['geocode_fields'][$name]['return'] = array(
            '#type' => 'select',
            '#title' => t('Return value'),
            '#options' => $return[$handler],
            '#default_value' => $widget['geocode_fields'][$name]['return'],
          );
        }
      }
      else {
      }
      return $form;

    case 'save':
      return array('geocode_fields');
  }
}
?>