You are here

function getlocations_lids in Get Locations 7

Same name and namespace in other branches
  1. 6.2 getlocations.module \getlocations_lids()
  2. 6 getlocations.module \getlocations_lids()
  3. 7.2 getlocations.module \getlocations_lids()

Page callback: Displays a map.

Parameters

string $lidlist: A comma-delimited list of location ids

Return value

Returns a map of locations.

1 call to getlocations_lids()
getlocations_box in ./getlocations.module
Function for colorbox and suchlike
1 string reference to 'getlocations_lids'
getlocations_menu in ./getlocations.module
Implements hook_menu().

File

./getlocations.module, line 795
getlocations.module @author Bob Hutchinson http://drupal.org/user/52366 @copyright GNU GPL

Code

function getlocations_lids($lidlist) {
  $lidarr = explode(',', $lidlist);
  $locations = array();
  $latlons = array();
  $minmaxes = array(
    'minlat' => 0,
    'minlon' => 0,
    'maxlat' => 0,
    'maxlon' => 0,
  );
  $marker = '';
  $ct = 0;
  $extra_info = array();
  $sv_info = FALSE;
  $map_info = FALSE;
  $module = getlocations_get_current_supported_module();
  foreach ($lidarr as $lid) {
    $locations[] = getlocations_load_location($lid);
  }
  if (count($locations)) {

    // we should loop over them and dump bummers with no lat/lon
    foreach ($locations as $key => $location) {
      if ($latlon = getlocations_latlon_check($location['latitude'] . ',' . $location['longitude'])) {
        $ll = explode(',', $latlon);
        $location['latitude'] = $ll[0];
        $location['longitude'] = $ll[1];
        $minmaxes = getlocations_do_minmaxes($ct, $location, $minmaxes);
        $location['key'] = '';
        $name = htmlspecialchars_decode(strip_tags($location['name']), ENT_QUOTES);
        $latlons[$ct] = array(
          $location['latitude'],
          $location['longitude'],
          $location['lid'],
          $name,
          $location['marker'],
          $location['key'],
          '',
          '',
        );
        $sv_info = FALSE;
        if ($module == 'getlocations_fields' && count($locations) == 1) {
          if (getlocations_fields_streetview_settings_allow()) {
            $sv_info = getlocations_fields_svinfo($location);
          }
          if (getlocations_fields_map_settings_allow()) {
            $map_info = getlocations_fields_mapinfo($location);
          }
        }
        $ct++;
      }
    }
  }
  if ($ct < 2) {
    unset($minmaxes);
    $minmaxes = '';
  }
  if ($sv_info) {
    $extra_info = array_merge($extra_info, $sv_info);
  }
  if ($map_info) {
    $extra_info = array_merge($extra_info, $map_info);
  }
  return getlocations_setlocations($latlons, $minmaxes, 'lids', '', $extra_info);
}