Exemplo n.º 1
0
// 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;
            $oPlaceLookup->setOSMID($sType, $iId);