}
}
-function checkModulePresence()
+function getOsm2pgsqlBinary()
{
- // Try accessing the C module, so we know early if something is wrong
- // and can simply error out.
- $sModulePath = CONST_Database_Module_Path;
- $sSQL = "CREATE FUNCTION nominatim_test_import_func(text) RETURNS text AS '";
- $sSQL .= $sModulePath . "/nominatim.so', 'transliteration' LANGUAGE c IMMUTABLE STRICT";
- $sSQL .= ';DROP FUNCTION nominatim_test_import_func(text);';
-
- $oDB = new \Nominatim\DB();
- $oDB->connect();
-
- $bResult = true;
- try {
- $oDB->exec($sSQL);
- } catch (\Nominatim\DatabaseError $e) {
- echo "\nERROR: Failed to load nominatim module. Reason:\n";
- echo $oDB->getLastError()[2] . "\n\n";
- $bResult = false;
+ $sBinary = getSetting('OSM2PGSQL_BINARY');
+ if (!$sBinary) {
+ $sBinary = CONST_InstallDir.'/osm2pgsql/osm2pgsql';
}
- return $bResult;
+ return $sBinary;
+}
+
+function getImportStyle()
+{
+ $sStyle = getSetting('IMPORT_STYLE');
+
+ if (in_array($sStyle, array('admin', 'street', 'address', 'full', 'extratags'))) {
+ return CONST_DataDir.'/settings/import-'.$sStyle.'.style';
+ }
+
+ return $sStyle;
}