X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2f88e7ceabf900dcb262dd80c41c4d716da1f5a0..96816b72b168d6ad4a853ee910eef76cf7c6e6fa:/website/status.php diff --git a/website/status.php b/website/status.php index a7a197b8..90be9388 100644 --- a/website/status.php +++ b/website/status.php @@ -1,26 +1,48 @@ 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; - } - if (!$iWordID) - { - echo "ERROR: No value"; - exit; - } - echo "OK"; - exit; +require_once(CONST_BasePath.'/lib/init-website.php'); +require_once(CONST_BasePath.'/lib/ParameterParser.php'); +require_once(CONST_BasePath.'/lib/Status.php'); + +$oParams = new Nominatim\ParameterParser(); +$sOutputFormat = $oParams->getSet('format', array('text', 'json'), 'text'); + +$oDB = DB::connect(CONST_Database_DSN, false); +$oStatus = new Nominatim\Status($oDB); + + +if ($sOutputFormat == 'json') { + header('content-type: application/json; charset=UTF-8'); +} + + +try { + $oStatus->status(); +} catch (Exception $oErr) { + if ($sOutputFormat == 'json') { + $aResponse = array( + 'status' => $oErr->getCode(), + 'message' => $oErr->getMessage() + ); + javascript_renderData($aResponse); + } else { + header('HTTP/1.0 500 Internal Server Error'); + echo 'ERROR: '.$oErr->getMessage(); + } + exit; +} + + +if ($sOutputFormat == 'json') { + $epoch = $oStatus->dataDate(); + $aResponse = array( + 'status' => 0, + 'message' => 'OK', + 'data_updated' => (new DateTime('@'.$epoch))->format(DateTime::RFC3339) + ); + javascript_renderData($aResponse); +} else { + echo 'OK'; +} + +exit;