]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib-php/lib.php
feat: Added reverse-only-search validation
[nominatim.git] / lib-php / lib.php
index a02fefd055fa121097a38e55b07fbb069bed2d3c..8d82c5b32def09bc7a48bc45e0030898454855f6 100644 (file)
@@ -7,7 +7,8 @@ function loadSettings($sProjectDir)
     // the installed scripts. Neither setting is part of the official
     // set of settings.
     defined('CONST_DataDir') or define('CONST_DataDir', $_SERVER['NOMINATIM_DATADIR']);
-    defined('CONST_BinDir') or define('CONST_BinDir', $_SERVER['NOMINATIM_BINDIR']);
+    defined('CONST_SqlDir') or define('CONST_SqlDir', $_SERVER['NOMINATIM_SQLDIR']);
+    defined('CONST_ConfigDir') or define('CONST_ConfigDir', $_SERVER['NOMINATIM_CONFIGDIR']);
     defined('CONST_Default_ModulePath') or define('CONST_Default_ModulePath', $_SERVER['NOMINATIM_DATABASE_MODULE_SRC_PATH']);
 }
 
@@ -36,7 +37,7 @@ function getSettingConfig($sConfName, $sSystemConfig)
     $sValue = $_SERVER['NOMINATIM_'.$sConfName];
 
     if (!$sValue) {
-        return CONST_DataDir.'/settings/'.$sSystemConfig;
+        return CONST_ConfigDir.'/'.$sSystemConfig;
     }
 
     return $sValue;
@@ -131,24 +132,6 @@ function addQuotes($s)
     return "'".$s."'";
 }
 
-function fwriteConstDef($rFile, $sConstName, $value)
-{
-    $sEscapedValue;
-
-    if (is_bool($value)) {
-        $sEscapedValue = $value ? 'true' : 'false';
-    } elseif (is_numeric($value)) {
-        $sEscapedValue = strval($value);
-    } elseif (!$value) {
-        $sEscapedValue = 'false';
-    } else {
-        $sEscapedValue = addQuotes(str_replace("'", "\\'", (string)$value));
-    }
-
-    fwrite($rFile, "@define('CONST_$sConstName', $sEscapedValue);\n");
-}
-
-
 function parseLatLon($sQuery)
 {
     $sFound    = null;
@@ -225,17 +208,6 @@ function parseLatLon($sQuery)
     return array($sFound, $fQueryLat, $fQueryLon);
 }
 
-function createPointsAroundCenter($fLon, $fLat, $fRadius)
-{
-    $iSteps = max(8, min(100, ($fRadius * 40000)^2));
-    $fStepSize = (2*pi())/$iSteps;
-    $aPolyPoints = array();
-    for ($f = 0; $f < 2*pi(); $f += $fStepSize) {
-        $aPolyPoints[] = array('', $fLon+($fRadius*sin($f)), $fLat+($fRadius*cos($f)) );
-    }
-    return $aPolyPoints;
-}
-
 function closestHouseNumber($aRow)
 {
     $fHouse = $aRow['startnumber']
@@ -256,24 +228,9 @@ function closestHouseNumber($aRow)
     return max(min($aRow['endnumber'], $iHn), $aRow['startnumber']);
 }
 
-function getSearchRankLabel($iRank)
-{
-    if (!isset($iRank)) return 'unknown';
-    if ($iRank < 2) return 'continent';
-    if ($iRank < 4) return 'sea';
-    if ($iRank < 8) return 'country';
-    if ($iRank < 12) return 'state';
-    if ($iRank < 16) return 'county';
-    if ($iRank == 16) return 'city';
-    if ($iRank == 17) return 'town / island';
-    if ($iRank == 18) return 'village / hamlet';
-    if ($iRank == 20) return 'suburb';
-    if ($iRank == 21) return 'postcode area';
-    if ($iRank == 22) return 'croft / farm / locality / islet';
-    if ($iRank == 23) return 'postcode area';
-    if ($iRank == 25) return 'postcode point';
-    if ($iRank == 26) return 'street / major landmark';
-    if ($iRank == 27) return 'minory street / path';
-    if ($iRank == 28) return 'house / building';
-    return 'other: ' . $iRank;
+if (!function_exists('array_key_last')) {
+    function array_key_last(array $array)
+    {
+        if (!empty($array)) return key(array_slice($array, -1, 1, true));
+    }
 }