00001 <?php 00002 00007 require( dirname( __FILE__ ) . '/../commandLine.inc' ); 00008 00009 $obj = new MakeMessagesDB; 00010 $obj->run(); 00011 00012 class MakeMessagesDB { 00013 00014 function run() { 00015 global $wgExtensionMessagesFiles, $wgMessageCache, $IP; 00016 00017 $nameHash = md5( implode( "\n", array_keys( $wgExtensionMessagesFiles ) ) ); 00018 $dir = "$IP/cache/ext-msgs"; 00019 wfMkdirParents( $dir ); 00020 $db = dba_open( "$dir/$nameHash.cdb", 'n', 'cdb' ); 00021 if ( !$db ) { 00022 echo "Cannot open DB file\n"; 00023 exit( 1 ); 00024 } 00025 00026 # Load extension messages 00027 foreach ( $wgExtensionMessagesFiles as $file ) { 00028 $messages = $magicWords = array(); 00029 require( $file ); 00030 foreach ( $messages as $lang => $unused ) { 00031 $wgMessageCache->processMessagesArray( $messages, $lang ); 00032 } 00033 } 00034 00035 # Write them to the file 00036 foreach ( $wgMessageCache->mExtensionMessages as $lang => $messages ) { 00037 foreach ( $messages as $key => $text ) { 00038 dba_insert( "$lang:$key", $text, $db ); 00039 } 00040 } 00041 00042 dba_close( $db ); 00043 } 00044 } 00045