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