X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/c988be1ddf10c7838c4e057adb351b1c076c6cca..1e60e5426317c52d1b0ac8bb9eb229e1c3c8f9d7:/lib/lib.php diff --git a/lib/lib.php b/lib/lib.php index 20b1f8ce..d8ff2f64 100644 --- a/lib/lib.php +++ b/lib/lib.php @@ -1,9 +1,34 @@

Internal Server Error

"; + echo '

Nominatim has encountered an internal error while processing your request. This is most likely because of a bug in the software.

'; + echo "

Details: ".$sError,"

"; + echo '

Feel free to report the bug in the OSM bug database. Please include the error message above an the URL you used.

'; + if (CONST_Debug) + { + echo "

Debugging Information


"; + if ($sSQL) { + echo "

SQL query

".$sSQL.""; + } + if ($vDumpVar) { + echo "

Result

"; + var_dump($vDumpVar); + echo ""; + } + } + echo "\n\n"; + exit; + + } + function fail($sError, $sUserError = false) { if (!$sUserError) $sUserError = $sError; - log('ERROR:'.$sError); + error_log('ERROR: '.$sError); echo $sUserError."\n"; exit; } @@ -179,6 +204,10 @@ return array(array('lat' => $aNearPostcodes[0]['lat'], 'lon' => $aNearPostcodes[0]['lon'], 'radius' => 0.005)); } + return false; + + /* partial search disabled because it sequentially scans placex + $sSQL = 'select substring(upper(postcode) from \'^[A-Z][A-Z]?[0-9][0-9A-Z]? [0-9]([A-Z][A-Z])$\'),ST_X(ST_Centroid(geometry)) as lon,ST_Y(ST_Centroid(geometry)) as lat from placex where country_code::text = \'gb\'::text AND substring(postcode from \'^([A-Z][A-Z]?[0-9][0-9A-Z]? [0-9])[A-Z][A-Z]$\') = \''.$sPostcodeSector.'\' and class=\'place\' and type=\'postcode\' '; $sSQL .= ' union '; $sSQL .= 'select substring(upper(postcode) from \'^[A-Z][A-Z]?[0-9][0-9A-Z]? [0-9]([A-Z][A-Z])$\'),ST_X(ST_Centroid(geometry)) as lon,ST_Y(ST_Centroid(geometry)) as lat from gb_postcode where substring(postcode from \'^([A-Z][A-Z]?[0-9][0-9A-Z]? [0-9])[A-Z][A-Z]$\') = \''.$sPostcodeSector.'\''; @@ -217,7 +246,7 @@ return array(array('lat' => $fLat, 'lon' => $fLon, 'radius' => $fRadius)); } return false; - + */ /* $fTotalFac is a suprisingly good indicator of accuracy $iZoom = 18 + round(log($fTotalFac,32));