function _gm3_region_field_get_options in Google Maps API V3 7
Helper function to get the options for the region field.
2 calls to _gm3_region_field_get_options()
- gm3_region_field_field_widget_form in gm3_region/
gm3_region_field/ gm3_region_field.module - Implements hook_field_widget_form().
- gm3_region_gm3_combination_form_alter in gm3_region/
gm3_region_field/ gm3_region_field.module - Function to update the map on the combination form element.
File
- gm3_region/
gm3_region_field/ gm3_region_field.module, line 231
Code
function _gm3_region_field_get_options() {
// We cache this, as it should only change if the module is updated.
$result = db_select('gm3_region_data', 'g')
->fields('g', array(
'name',
'continent',
'iso_code',
'level_4_code',
'level_3_code',
'level_2_code',
'level_1_code',
))
->execute();
$options = array();
foreach ($result as $region) {
if ($region->level_2_code == 0) {
$options["{$region->level_1_code}"] = $region->name;
}
else {
if ($region->level_3_code == '') {
$options["{$region->level_1_code}:{$region->level_2_code}"] = "- {$region->name}";
}
else {
if ($region->level_4_code == '') {
$options["{$region->level_1_code}:{$region->level_2_code}:{$region->level_3_code}"] = "- - {$region->name}";
}
else {
$options["{$region->level_1_code}:{$region->level_2_code}:{$region->level_3_code}:{$region->level_3_code}-{$region->level_4_code}"] = "- - - {$region->name}";
}
}
}
}
uksort($options, '_gm3_region_field_array_sort');
return $options;
}