ini_set('memory_limit', '200M'); // Format for output $sOutputFormat = 'xml'; if (isset($_GET['format']) && ($_GET['format'] == 'xml' || $_GET['format'] == 'json')) { $sOutputFormat = $_GET['format']; } // 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(getParamBool('addressdetails', true)); $oPlaceLookup->setIncludeExtraTags(getParamBool('extratags', false)); $oPlaceLookup->setIncludeNameDetails(getParamBool('namedetails', false)); $aOsmIds = explode(',', $_GET['osm_ids']); if (count($aOsmIds) > CONST_Places_Max_ID_count) { userError('Bulk User: Only ' . CONST_Places_Max_ID_count . " ids are allowed in one request."); exit; } foreach ($aOsmIds as $sItem) { // Skip empty sItem if (empty($sItem)) { continue; } $sType = $sItem[0]; $iId = (int) substr($sItem, 1); if ($iId > 0 && ($sType == 'N' || $sType == 'W' || $sType == 'R')) { $aCleanedQueryParts[] = $sType . $iId;