]> git.openstreetmap.org Git - nominatim.git/blob - website/status.php
Switch to configurable style for osm2pgsql
[nominatim.git] / website / status.php
1 <?php
2
3 require_once(CONST_BasePath.'/lib/init-website.php');
4 require_once(CONST_BasePath.'/lib/ParameterParser.php');
5 require_once(CONST_BasePath.'/lib/Status.php');
6
7 $oParams = new Nominatim\ParameterParser();
8 $sOutputFormat = $oParams->getSet('format', array('text', 'json'), 'text');
9
10 $oDB = DB::connect(CONST_Database_DSN, false);
11 $oStatus = new Nominatim\Status($oDB);
12
13
14 if ($sOutputFormat == 'json') {
15     header('content-type: application/json; charset=UTF-8');
16 }
17
18
19 try {
20     $oStatus->status();
21 } catch (Exception $oErr) {
22     if ($sOutputFormat == 'json') {
23         $aResponse = array(
24                       'status' => $oErr->getCode(),
25                       'message' => $oErr->getMessage()
26                      );
27         javascript_renderData($aResponse);
28     } else {
29         header('HTTP/1.0 500 Internal Server Error');
30         echo 'ERROR: '.$oErr->getMessage();
31     }
32     exit;
33 }
34
35
36 if ($sOutputFormat == 'json') {
37     $epoch = $oStatus->dataDate();
38     $aResponse = array(
39                   'status' => 0,
40                   'message' => 'OK',
41                   'data_updated' => (new DateTime('@'.$epoch))->format(DateTime::RFC3339)
42                  );
43     javascript_renderData($aResponse);
44 } else {
45     echo 'OK';
46 }
47
48 exit;