]> git.openstreetmap.org Git - nominatim.git/commitdiff
move error messages to consistent 'userError' function and return 400 Bad Request
authorBrian Quinion <openstreetmap@brian.quinion.co.uk>
Tue, 6 Nov 2012 13:16:19 +0000 (13:16 +0000)
committerBrian Quinion <openstreetmap@brian.quinion.co.uk>
Tue, 6 Nov 2012 13:16:19 +0000 (13:16 +0000)
lib/lib.php
website/search.php

index 8a4918182c55ec4d36d0bec999c7e9d8e36321bc..f34b09b7a51fbef8285d4a19bd9fb9de5b1704ab 100644 (file)
 
        }
 
+       function userError($sError) 
+       {
+               header('HTTP/1.0 400 Bad Request');
+               header('Content-type: text/html; charset=utf-8');
+               echo "<html><body><h1>Bad Request</h1>";
+               echo '<p>Nominatim has encountered an error with your request.</p>';
+               echo "<p><b>Details:</b> ".$sError,"</p>";
+               echo '<p>If you feel this error is incorrect feel free to report the bug in the <a href="http://trac.openstreetmap.org">OSM bug database</a>. Please include the error message above and the URL you used.</p>';
+               echo "\n</body></html>\n";
+               exit;
+
+       }
+
        function fail($sError, $sUserError = false)
        {
                if (!$sUserError) $sUserError = $sError;
index 69f6a666d0bcdbfcf9f80465d5760325291288bb..ee7979dc4c54b7d08a8e5ecfb2cedd90c25d679f 100755 (executable)
@@ -43,9 +43,9 @@
           + ($bAsTEXT?1:0) 
                ) > CONST_PolygonOutput_MaximumTypes) {
                if (CONST_PolygonOutput_MaximumTypes) {
-                       echo "Select only ".CONST_PolygonOutput_MaximumTypes." polgyon output option";
+                       userError("Select only ".CONST_PolygonOutput_MaximumTypes." polgyon output option");
                } else {
-                       echo "Polygon output is disabled";
+                       userError("Polygon output is disabled");
                }
                exit;
        }
                        $aPoints = explode(',',$_GET['route']);
                        if (sizeof($aPoints) % 2 != 0)
                        {
-                               echo "Uneven number of points";
+                               userError("Uneven number of points");
                                exit;
                        }
                        $sViewboxCentreSQL = "ST_SetSRID('LINESTRING(";
                                $aPhrase = $oDB->getRow("select make_standard_name('".pg_escape_string($sPhrase)."') as string");
                                if (PEAR::isError($aPhrase))
                                {
-                                       echo "Illegal query string (not an UTF-8 string): ".$sPhrase;
+                                       userError("Illegal query string (not an UTF-8 string): ".$sPhrase);
                                        if (CONST_Debug) var_dump($aPhrase);
                                        exit;
                                }