X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/0947b618085f7d46515a3ec06cab5ed818e8635f..04690ad8c4734c15efc920bc0dab59cf78e3e7cb:/lib/lib.php diff --git a/lib/lib.php b/lib/lib.php index 9f266aeb..5d4038d6 100644 --- a/lib/lib.php +++ b/lib/lib.php @@ -4,23 +4,24 @@ require('Symfony/Component/Dotenv/autoload.php'); function loadSettings($sProjectDir) { - if (!$sProjectDir) { - $sProjectDir = getcwd(); - } - @define('CONST_InstallDir', $sProjectDir); + // Temporary hack to set the direcory via environment instead of + // 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']); $dotenv = new \Symfony\Component\Dotenv\Dotenv(); + $dotenv->load(CONST_DataDir.'/settings/env.defaults'); if (file_exists($sProjectDir.'/.env')) { $dotenv->load($sProjectDir.'/.env'); } - $dotenv->load(CONST_DataDir.'/settings/env.defaults'); } function getSetting($sConfName, $sDefault = null) { - $sValue = $_ENV['NOMINATIM_'.$sConfName]; + $sValue = $_SERVER['NOMINATIM_'.$sConfName]; if ($sDefault !== null && !$sValue) { return $sDefault; @@ -138,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;