]> git.openstreetmap.org Git - nominatim.git/blobdiff - website/status.php
set SQL statement timeout to php execution timeout
[nominatim.git] / website / status.php
index a7a197b89fce9ae1bfd096075c810a8651c02edf..a876f999ffc456b820568044df4e1c03bc2a44f7 100644 (file)
@@ -1,26 +1,41 @@
 <?php
-        @define('CONST_ConnectionBucket_PageType', 'Status');
+       @define('CONST_ConnectionBucket_PageType', 'Status');
 
-        require_once(dirname(dirname(__FILE__)).'/lib/init-website.php');
+       require_once(dirname(dirname(__FILE__)).'/lib/init-website.php');
 
-        $oDB =& getDB();
-       if (!$oDB || PEAR::isError($oDB))
+       function statusError($sMsg)
        {
-               echo "ERROR: No database";
+               header("HTTP/1.0 500 Internal Server Error");
+               echo "ERROR: ".$sMsg;
                exit;
        }
 
+       $oDB =& getDB();
+       if (!$oDB || PEAR::isError($oDB))
+       {
+               statusError("No database");
+       }
+
+       $sStandardWord = $oDB->getOne("select make_standard_name('a')");
+       if (PEAR::isError($sStandardWord))
+       {
+               statusError("Module failed");
+       }
+       if ($sStandardWord != 'a')
+       {
+               statusError("Module call failed");
+       }
+
        $iWordID = $oDB->getOne("select word_id,word_token, word, class, type, country_code, operator, search_name_count from word where word_token in (' a')");
        if (PEAR::isError($iWordID))
        {
-               echo "ERROR: Query failed";
-               exit;
+               statusError("Query failed");
        }
        if (!$iWordID)
        {
-               echo "ERROR: No value";
-               exit;
+               statusError("No value");
        }
+
        echo "OK";
        exit;