- $aSearchResults = array();
- if (isset($_GET['osm_ids']))
- {
- $oPlaceLookup = new PlaceLookup($oDB);
- $oPlaceLookup->setLanguagePreference($aLangPrefOrder);
- $oPlaceLookup->setIncludeAddressDetails($bShowAddressDetails);
-
- $osm_ids = explode(',', $_GET['osm_ids']);
-
- if ( count($osm_ids) > CONST_Places_Max_ID_count )
- {
- userError('Bulk User: Only ' . CONST_Places_Max_ID_count . " ids are allowed in one request.");
- exit;
- }
-
- $type = '';
- $id = 0;
- foreach ($osm_ids AS $item)
- {
- // Skip empty items
- if (empty($item)) continue;
-
- $type = $item[0];
- $id = (int) substr($item, 1);
- if ( $id > 0 && ($type == 'N' || $type == 'W' || $type == 'R') )
- {
- $oPlaceLookup->setOSMID($type, $id);
- $oPlace = $oPlaceLookup->lookup();
- if ($oPlace){
- // we want to use the search-* output templates, so we need to fill
- // $aSearchResults and slightly change the (reverse search) oPlace
- // key names
- $oResult = $oPlace;
- unset($oResult['aAddress']);
- $oResult['address'] = $oPlace['aAddress'];
- unset($oResult['langaddress']);
- $oResult['name'] = $oPlace['langaddress'];
- $aSearchResults[] = $oResult;
- }
- }
- }
- }