Nominatim/website/status.php

52 lines
1.3 KiB
PHP
Raw Normal View History

<?php
2016-09-04 04:19:48 +03:00
@define('CONST_ConnectionBucket_PageType', 'Status');
2016-09-04 04:19:48 +03:00
require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
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);
2014-01-23 20:48:20 +04:00
if ($sOutputFormat == 'json') {
header('content-type: application/json; charset=UTF-8');
2016-09-04 04:19:48 +03:00
}
2014-01-23 20:06:43 +04:00
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;
2016-09-04 04:19:48 +03:00
}
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';
2016-09-04 04:19:48 +03:00
}
2014-01-23 20:48:20 +04:00
2016-09-04 04:19:48 +03:00
exit;