forked from hans/Nominatim
Website scripts have no access to the dotenv variables, so use the DSN constant instead when connecting to the database.
48 lines
1.2 KiB
PHP
48 lines
1.2 KiB
PHP
<?php
|
|
|
|
require_once(CONST_LibDir.'/init-website.php');
|
|
require_once(CONST_LibDir.'/ParameterParser.php');
|
|
require_once(CONST_LibDir.'/Status.php');
|
|
|
|
$oParams = new Nominatim\ParameterParser();
|
|
$sOutputFormat = $oParams->getSet('format', array('text', 'json'), 'text');
|
|
|
|
$oDB = new Nominatim\DB(CONST_Database_DSN);
|
|
|
|
if ($sOutputFormat == 'json') {
|
|
header('content-type: application/json; charset=UTF-8');
|
|
}
|
|
|
|
|
|
try {
|
|
$oStatus = new Nominatim\Status($oDB);
|
|
$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;
|