X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/a932855f6f4def45d2d403f34b0200bc826546e9..04690ad8c4734c15efc920bc0dab59cf78e3e7cb:/lib/lib.php diff --git a/lib/lib.php b/lib/lib.php index fcd22066..5d4038d6 100644 --- a/lib/lib.php +++ b/lib/lib.php @@ -1,5 +1,55 @@ load(CONST_DataDir.'/settings/env.defaults'); + + if (file_exists($sProjectDir.'/.env')) { + $dotenv->load($sProjectDir.'/.env'); + } +} + +function getSetting($sConfName, $sDefault = null) +{ + $sValue = $_SERVER['NOMINATIM_'.$sConfName]; + + if ($sDefault !== null && !$sValue) { + return $sDefault; + } + + return $sValue; +} + +function getSettingBool($sConfName) +{ + $sVal = strtolower(getSetting($sConfName)); + + return strcmp($sVal, 'yes') == 0 + || strcmp($sVal, 'true') == 0 + || strcmp($sVal, '1') == 0; +} + +function getSettingConfig($sConfName, $sSystemConfig) +{ + $sValue = $_ENV['NOMINATIM_'.$sConfName]; + + if (!$sValue) { + return CONST_DataDir.'/settings/'.$sSystemConfig; + } + + return $sValue; +} + function fail($sError, $sUserError = false) { if (!$sUserError) $sUserError = $sError; @@ -89,6 +139,24 @@ 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;