]> git.openstreetmap.org Git - nominatim.git/blob - lib/setup_functions.php
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / lib / setup_functions.php
1 <?php
2
3 function checkInFile($sOSMFile)
4 {
5     if (!isset($sOSMFile)) {
6         fail('missing --osm-file for data import');
7     }
8
9     if (!file_exists($sOSMFile)) {
10         fail('the path supplied to --osm-file does not exist');
11     }
12
13     if (!is_readable($sOSMFile)) {
14         fail('osm-file "' . $aCMDResult['osm-file'] . '" not readable');
15     }
16 }
17
18 function checkModulePresence()
19 {
20     // Try accessing the C module, so we know early if something is wrong
21     // and can simply error out.
22     $sModulePath = CONST_Database_Module_Path;
23     $sSQL = "CREATE FUNCTION nominatim_test_import_func(text) RETURNS text AS '";
24     $sSQL .= $sModulePath . "/nominatim.so', 'transliteration' LANGUAGE c IMMUTABLE STRICT";
25     $sSQL .= ';DROP FUNCTION nominatim_test_import_func(text);';
26
27     $oDB = &getDB();
28     $oResult = $oDB->query($sSQL);
29
30     $bResult = true;
31
32     if (PEAR::isError($oResult)) {
33         echo "\nERROR: Failed to load nominatim module. Reason:\n";
34         echo $oResult->userinfo . "\n\n";
35         $bResult = false;
36     }
37     return $bResult;
38 }