diff --git a/CMakeLists.txt b/CMakeLists.txt index 59d9e3a6..79551ce7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,20 +96,20 @@ endif() if (BUILD_IMPORTER) set(CUSTOMSCRIPTS - utils/check_import_finished.php - utils/country_languages.php - utils/importWikipedia.php - utils/export.php - utils/query.php - utils/setup.php - utils/specialphrases.php - utils/update.php - utils/warm.php + check_import_finished.php + country_languages.php + importWikipedia.php + export.php + query.php + setup.php + specialphrases.php + update.php + warm.php ) foreach (script_source ${CUSTOMSCRIPTS}) configure_file(${PROJECT_SOURCE_DIR}/cmake/script.tmpl - ${PROJECT_BINARY_DIR}/${script_source}) + ${PROJECT_BINARY_DIR}/utils/${script_source}) endforeach() endif() @@ -119,27 +119,20 @@ endif() if (BUILD_API) set(WEBSITESCRIPTS - website/deletable.php - website/details.php - website/lookup.php - website/polygons.php - website/reverse.php - website/search.php - website/status.php + deletable.php + details.php + lookup.php + polygons.php + reverse.php + search.php + status.php ) foreach (script_source ${WEBSITESCRIPTS}) configure_file(${PROJECT_SOURCE_DIR}/cmake/website.tmpl - ${PROJECT_BINARY_DIR}/${script_source}) + ${PROJECT_BINARY_DIR}/website/${script_source}) endforeach() - set(WEBPATHS css images js) - - foreach (wp ${WEBPATHS}) - execute_process( - COMMAND ln -sf ${PROJECT_SOURCE_DIR}/website/${wp} ${PROJECT_BINARY_DIR}/website/ - ) - endforeach() add_custom_target(serve php -S 127.0.0.1:8088 diff --git a/cmake/script.tmpl b/cmake/script.tmpl index 8146ca8b..1b0cab64 100755 --- a/cmake/script.tmpl +++ b/cmake/script.tmpl @@ -1,4 +1,9 @@ #!@PHP_BIN@ -Cq getCode()); header('Content-type: application/json; charset=utf-8'); - include(CONST_BasePath.'/lib/template/error-json.php'); + include(CONST_LibDir.'/template/error-json.php'); exit(); } @@ -29,7 +29,7 @@ function exception_handler_xml($exception) http_response_code($exception->getCode()); header('Content-type: text/xml; charset=utf-8'); echo ''."\n"; - include(CONST_BasePath.'/lib/template/error-xml.php'); + include(CONST_LibDir.'/template/error-xml.php'); exit(); } diff --git a/lib/init.php b/lib/init.php index 082d1bf5..cc50aaf3 100644 --- a/lib/init.php +++ b/lib/init.php @@ -1,4 +1,4 @@ pgsqlRunScriptFile(CONST_BasePath.'/data/country_name.sql'); - $this->pgsqlRunScriptFile(CONST_ExtraDataPath.'/country_osm_grid.sql.gz'); - $this->pgsqlRunScriptFile(CONST_BasePath.'/data/gb_postcode_table.sql'); - $this->pgsqlRunScriptFile(CONST_BasePath.'/data/us_postcode_table.sql'); + $this->pgsqlRunScriptFile(CONST_DataDir.'/data/country_name.sql'); + $this->pgsqlRunScriptFile(CONST_DataDir.'/data/country_osm_grid.sql.gz'); + $this->pgsqlRunScriptFile(CONST_DataDir.'/data/gb_postcode_table.sql'); + $this->pgsqlRunScriptFile(CONST_DataDir.'/data/us_postcode_table.sql'); - $sPostcodeFilename = CONST_BasePath.'/data/gb_postcode_data.sql.gz'; + $sPostcodeFilename = CONST_DataDir.'/data/gb_postcode_data.sql.gz'; if (file_exists($sPostcodeFilename)) { $this->pgsqlRunScriptFile($sPostcodeFilename); } else { warn('optional external GB postcode table file ('.$sPostcodeFilename.') not found. Skipping.'); } - $sPostcodeFilename = CONST_BasePath.'/data/us_postcode_data.sql.gz'; + $sPostcodeFilename = CONST_DataDir.'/data/us_postcode_data.sql.gz'; if (file_exists($sPostcodeFilename)) { $this->pgsqlRunScriptFile($sPostcodeFilename); } else { @@ -243,7 +243,7 @@ class SetupFunctions { info('Create Tables'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/tables.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/tables.sql'); $sTemplate = $this->replaceSqlPatterns($sTemplate); $this->pgsqlRunScript($sTemplate, false); @@ -260,7 +260,7 @@ class SetupFunctions { info('Create Tables'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/table-triggers.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/table-triggers.sql'); $sTemplate = $this->replaceSqlPatterns($sTemplate); $this->pgsqlRunScript($sTemplate, false); @@ -270,7 +270,7 @@ class SetupFunctions { info('Create Partition Tables'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/partition-tables.src.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/partition-tables.src.sql'); $sTemplate = $this->replaceSqlPatterns($sTemplate); $this->pgsqlRunPartitionScript($sTemplate); @@ -280,7 +280,7 @@ class SetupFunctions { info('Create Partition Functions'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/partition-functions.src.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/partition-functions.src.sql'); $this->pgsqlRunPartitionScript($sTemplate); } @@ -342,7 +342,7 @@ class SetupFunctions // pre-create the word list if (!$bDisableTokenPrecalc) { info('Loading word list'); - $this->pgsqlRunScriptFile(CONST_BasePath.'/data/words.sql'); + $this->pgsqlRunScriptFile(CONST_DataDir.'/data/words.sql'); } info('Load Data'); @@ -434,7 +434,7 @@ class SetupFunctions warn('Tiger data import selected but no files found in path '.CONST_Tiger_Data_Path); return; } - $sTemplate = file_get_contents(CONST_BasePath.'/sql/tiger_import_start.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/tiger_import_start.sql'); $sTemplate = $this->replaceSqlPatterns($sTemplate); $this->pgsqlRunScript($sTemplate, false); @@ -488,7 +488,7 @@ class SetupFunctions } info('Creating indexes on Tiger data'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/tiger_import_finish.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/tiger_import_finish.sql'); $sTemplate = $this->replaceSqlPatterns($sTemplate); $this->pgsqlRunScript($sTemplate, false); @@ -544,7 +544,7 @@ class SetupFunctions { checkModulePresence(); // raises exception on failure - $oBaseCmd = (new \Nominatim\Shell(CONST_BasePath.'/nominatim/nominatim.py')) + $oBaseCmd = (new \Nominatim\Shell(CONST_DataDir.'/nominatim/nominatim.py')) ->addParams('--database', $this->aDSNInfo['database']) ->addParams('--port', $this->aDSNInfo['port']) ->addParams('--threads', $this->iInstances); @@ -616,12 +616,12 @@ class SetupFunctions $this->db()->exec("DROP INDEX $sIndexName;"); } - $sTemplate = file_get_contents(CONST_BasePath.'/sql/indices.src.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/indices.src.sql'); if (!$this->bDrop) { - $sTemplate .= file_get_contents(CONST_BasePath.'/sql/indices_updates.src.sql'); + $sTemplate .= file_get_contents(CONST_DataDir.'/sql/indices_updates.src.sql'); } if (!$this->dbReverseOnly()) { - $sTemplate .= file_get_contents(CONST_BasePath.'/sql/indices_search.src.sql'); + $sTemplate .= file_get_contents(CONST_DataDir.'/sql/indices_search.src.sql'); } $sTemplate = $this->replaceSqlPatterns($sTemplate); @@ -709,10 +709,9 @@ class SetupFunctions */ public function setupWebsite() { - $rOutputFile = fopen(CONST_InstallPath.'/settings/settings-frontend.php', 'w'); + $rOutputFile = fopen(CONST_InstallDir.'/settings/settings-frontend.php', 'w'); fwrite($rOutputFile, " "\033[92m", diff --git a/utils/country_languages.php b/utils/country_languages.php index 63f6525c..c9aa391b 100644 --- a/utils/country_languages.php +++ b/utils/country_languages.php @@ -1,6 +1,6 @@ = 11.0) { } -$oIndexCmd = (new \Nominatim\Shell(CONST_BasePath.'/nominatim/nominatim.py')) +$oIndexCmd = (new \Nominatim\Shell(CONST_DataDir.'/nominatim/nominatim.py')) ->addParams('--database', $aDSNInfo['database']) ->addParams('--port', $aDSNInfo['port']) ->addParams('--threads', $aResult['index-instances']); @@ -193,7 +193,7 @@ if ($aResult['check-for-updates']) { fail('Updates not set up. Please run ./utils/update.php --init-updates.'); } - $oCmd = (new \Nominatim\Shell(CONST_BasePath.'/utils/check_server_for_updates.py')) + $oCmd = (new \Nominatim\Shell(CONST_BinDir.'/check_server_for_updates.py')) ->addParams(CONST_Replication_Url) ->addParams($aLastState['sequence_id']); $iRet = $oCmd->run(); @@ -223,11 +223,11 @@ if (isset($aResult['import-diff']) || isset($aResult['import-file'])) { if ($aResult['calculate-postcodes']) { info('Update postcodes centroids'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/update-postcodes.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/update-postcodes.sql'); runSQLScript($sTemplate, true, true); } -$sTemporaryFile = CONST_BasePath.'/data/osmosischange.osc'; +$sTemporaryFile = CONST_InstallDir.'/osmosischange.osc'; $bHaveDiff = false; $bUseOSMApi = isset($aResult['import-from-main-api']) && $aResult['import-from-main-api']; $sContentURL = ''; @@ -274,7 +274,7 @@ if ($bHaveDiff) { if ($aResult['recompute-word-counts']) { info('Recompute frequency of full-word search terms'); - $sTemplate = file_get_contents(CONST_BasePath.'/sql/words_from_search_name.sql'); + $sTemplate = file_get_contents(CONST_DataDir.'/sql/words_from_search_name.sql'); runSQLScript($sTemplate, true, true); } @@ -320,7 +320,7 @@ if ($aResult['import-osmosis'] || $aResult['import-osmosis-all']) { "Please check install documentation (https://nominatim.org/release-docs/latest/admin/Import-and-Update#setting-up-the-update-process)\n"); } - $sImportFile = CONST_InstallPath.'/osmosischange.osc'; + $sImportFile = CONST_InstallDir.'/osmosischange.osc'; $oCMDDownload = (new \Nominatim\Shell(CONST_Pyosmium_Binary)) ->addParams('--server', CONST_Replication_Url) @@ -379,7 +379,7 @@ if ($aResult['import-osmosis'] || $aResult['import-osmosis-all']) { // get the newest object from the diff file $sBatchEnd = 0; $iRet = 0; - $oCMD = new \Nominatim\Shell(CONST_BasePath.'/utils/osm_file_date.py', $sImportFile); + $oCMD = new \Nominatim\Shell(CONST_BinDir.'/osm_file_date.py', $sImportFile); exec($oCMD->escapedCmd(), $sBatchEnd, $iRet); if ($iRet == 5) { echo "Diff file is empty. skipping import.\n"; diff --git a/utils/warm.php b/utils/warm.php index 5476eae0..f86e0dd5 100644 --- a/utils/warm.php +++ b/utils/warm.php @@ -1,6 +1,6 @@ connect(); diff --git a/website/deletable.php b/website/deletable.php index 2028cbdd..9a0ea0d8 100644 --- a/website/deletable.php +++ b/website/deletable.php @@ -1,8 +1,8 @@ 0) { $aPointDetails['error_x'] = 0; $aPointDetails['error_y'] = 0; } - include(CONST_BasePath.'/lib/template/details-error-'.$sOutputFormat.'.php'); + include(CONST_LibDir.'/template/details-error-'.$sOutputFormat.'.php'); exit; } } @@ -247,4 +247,4 @@ if ($bIncludeKeywords) { logEnd($oDB, $hLog, 1); -include(CONST_BasePath.'/lib/template/details-'.$sOutputFormat.'.php'); +include(CONST_LibDir.'/template/details-'.$sOutputFormat.'.php'); diff --git a/website/lookup.php b/website/lookup.php index db2c01d6..e4a98939 100644 --- a/website/lookup.php +++ b/website/lookup.php @@ -1,9 +1,9 @@ lookup(); $aBatchResults[] = $aSearchResults; } - include(CONST_BasePath.'/lib/template/search-batch-json.php'); + include(CONST_LibDir.'/template/search-batch-json.php'); exit; } @@ -89,4 +89,4 @@ if (isset($_SERVER['REQUEST_SCHEME']) if (CONST_Debug) exit; $sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat; -include(CONST_BasePath.'/lib/template/search-'.$sOutputTemplate.'.php'); +include(CONST_LibDir.'/template/search-'.$sOutputTemplate.'.php'); diff --git a/website/status.php b/website/status.php index 0d483544..dc497ff5 100644 --- a/website/status.php +++ b/website/status.php @@ -1,8 +1,8 @@ getSet('format', array('text', 'json'), 'text');