2012-11-15 03:50:52 +04:00
< ? php
2021-01-13 19:00:38 +03:00
@ define ( 'CONST_LibDir' , dirname ( dirname ( __FILE__ )));
2012-11-15 03:50:52 +04:00
2020-12-15 12:09:55 +03:00
require_once ( CONST_LibDir . '/init-cmd.php' );
2016-03-09 02:07:46 +03:00
2016-09-10 22:10:52 +03:00
ini_set ( 'memory_limit' , '800M' );
ini_set ( 'display_errors' , 'stderr' );
2012-11-15 03:50:52 +04:00
2016-09-10 22:10:52 +03:00
$aCMDOptions
= array (
2017-10-26 22:21:21 +03:00
'Import country language data from osm wiki' ,
2016-09-10 22:10:52 +03:00
array ( 'help' , 'h' , 0 , 1 , 0 , 0 , false , 'Show Help' ),
array ( 'quiet' , 'q' , 0 , 1 , 0 , 0 , 'bool' , 'Quiet output' ),
array ( 'verbose' , 'v' , 0 , 1 , 0 , 0 , 'bool' , 'Verbose output' ),
2020-12-16 19:20:58 +03:00
array ( 'project-dir' , '' , 0 , 1 , 1 , 1 , 'realpath' , 'Base directory of the Nominatim installation (default: .)' ),
2016-09-10 22:10:52 +03:00
);
getCmdOpt ( $_SERVER [ 'argv' ], $aCMDOptions , $aCMDResult , true , true );
2012-11-15 03:50:52 +04:00
2020-12-16 19:20:58 +03:00
loadSettings ( $aCMDResult [ 'project-dir' ] ? ? getcwd ());
2020-12-15 13:04:19 +03:00
setupHTTPProxy ();
2016-09-08 04:16:22 +03:00
if ( true ) {
2018-01-06 00:38:51 +03:00
$sURL = 'https://wiki.openstreetmap.org/wiki/Special:Export/Nominatim/Country_Codes' ;
2016-09-04 04:19:48 +03:00
$sWikiPageXML = file_get_contents ( $sURL );
2016-09-08 04:16:22 +03:00
if ( preg_match_all ( '#\\| ([a-z]{2}) \\|\\| [^|]+\\|\\| ([a-z,]+)#' , $sWikiPageXML , $aMatches , PREG_SET_ORDER )) {
foreach ( $aMatches as $aMatch ) {
2016-09-04 04:19:48 +03:00
$aLanguages = explode ( ',' , $aMatch [ 2 ]);
2016-09-08 04:16:22 +03:00
foreach ( $aLanguages as $i => $s ) {
2016-09-04 04:19:48 +03:00
$aLanguages [ $i ] = '"' . pg_escape_string ( $s ) . '"' ;
}
2016-09-11 06:22:51 +03:00
echo " UPDATE country_name set country_default_language_codes = ' { " . join ( ',' , $aLanguages ) . " }' where country_code = ' " . pg_escape_string ( $aMatch [ 1 ]) . " '; \n " ;
2016-09-04 04:19:48 +03:00
}
}
}