]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib/lib.php
Parameter to enable JSON pretty-printing
[nominatim.git] / lib / lib.php
index a535191879c3733329a2f528c3fd37f4931bd038..b622748c2df9f907105404be97d2c88168deace0 100644 (file)
@@ -33,6 +33,18 @@ function getCacheMemoryMB()
     return (int)($aMatches[1]/1024);
 }
 
+function getDatabaseDate(&$oDB)
+{
+    // Find the newest node in the DB
+    $iLastOSMID = $oDB->getOne("select max(osm_id) from place where osm_type = 'N'");
+    // Lookup the timestamp that node was created
+    $sLastNodeURL = 'http://www.openstreetmap.org/api/0.6/node/'.$iLastOSMID."/1";
+    $sLastNodeXML = file_get_contents($sLastNodeURL);
+    preg_match('#timestamp="(([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})Z)"#', $sLastNodeXML, $aLastNodeDate);
+
+    return $aLastNodeDate[1];
+}
+
 
 function bySearchRank($a, $b)
 {
@@ -463,8 +475,13 @@ function getResultDiameter($aResult)
 
 function javascript_renderData($xVal, $iOptions = 0)
 {
-    if (defined('PHP_VERSION_ID') && PHP_VERSION_ID > 50400)
+    if (defined('PHP_VERSION_ID') && PHP_VERSION_ID > 50400) {
         $iOptions |= JSON_UNESCAPED_UNICODE;
+        if (isset($_GET['pretty']) && in_array(strtolower($_GET['pretty']), array('1', 'true'))) {
+            $iOptions |= JSON_PRETTY_PRINT;
+        }
+    }
+
     $jsonout = json_encode($xVal, $iOptions);
 
     if (! isset($_GET['json_callback'])) {