$sOutputFormat = $_GET['format'];
}
- // Show address breakdown
- $bShowAddressDetails = true;
- if (isset($_GET['addressdetails'])) $bShowAddressDetails = (bool)$_GET['addressdetails'];
-
// Preferred language
$aLangPrefOrder = getPreferredLanguages();
$hLog = logStart($oDB, 'place', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
$aSearchResults = array();
+ $aCleanedQueryParts = array();
if (isset($_GET['osm_ids']))
{
$oPlaceLookup = new PlaceLookup($oDB);
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
- $oPlaceLookup->setIncludeAddressDetails($bShowAddressDetails);
+ $oPlaceLookup->setIncludeAddressDetails(getParamBool('addressdetails', true));
+ $oPlaceLookup->setIncludeExtraTags(getParamBool('extratags', false));
+ $oPlaceLookup->setIncludeNameDetails(getParamBool('namedetails', false));
- $osm_ids = explode(',', $_GET['osm_ids']);
+ $aOsmIds = explode(',', $_GET['osm_ids']);
- if ( count($osm_ids) > CONST_Places_Max_ID_count )
+ if ( count($aOsmIds) > 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)
+ foreach ($aOsmIds AS $sItem)
{
- // Skip empty items
- if (empty($item)) continue;
+ // Skip empty sItem
+ if (empty($sItem)) continue;
- $type = $item[0];
- $id = (int) substr($item, 1);
- if ( $id > 0 && ($type == 'N' || $type == 'W' || $type == 'R') )
+ $sType = $sItem[0];
+ $iId = (int) substr($sItem, 1);
+ if ( $iId > 0 && ($sType == 'N' || $sType == 'W' || $sType == 'R') )
{
- $oPlaceLookup->setOSMID($type, $id);
+ $aCleanedQueryParts[] = $sType . $iId;
+ $oPlaceLookup->setOSMID($sType, $iId);
$oPlace = $oPlaceLookup->lookup();
if ($oPlace){
// we want to use the search-* output templates, so we need to fill
// key names
$oResult = $oPlace;
unset($oResult['aAddress']);
- $oResult['address'] = $oPlace['aAddress'];
+ if (isset($oPlace['aAddress'])) $oResult['address'] = $oPlace['aAddress'];
unset($oResult['langaddress']);
$oResult['name'] = $oPlace['langaddress'];
$aSearchResults[] = $oResult;
if (CONST_Debug) exit;
$sXmlRootTag = 'lookupresults';
+ $sQuery = join(',',$aCleanedQueryParts);
// we initialize these to avoid warnings in our logfile
- $sQuery = '';
$sViewBox = '';
$bShowPolygons = '';
$aExcludePlaceIDs = [];