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().
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');
}
}
?> 