]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - maintenance/language/makeMessageDB.php
MediaWiki 1.15.0
[autoinstalls/mediawiki.git] / maintenance / language / makeMessageDB.php
1 <?php
2
3 /**
4  * Proof of principle script
5  */
6
7 require( dirname( __FILE__ ) . '/../commandLine.inc' );
8
9 $obj = new MakeMessagesDB;
10 $obj->run();
11
12 class MakeMessagesDB {
13
14         function run() {
15                 global $wgExtensionMessagesFiles, $wgMessageCache, $IP;
16
17                 $nameHash = md5( implode( "\n", array_keys( $wgExtensionMessagesFiles ) ) );
18                 $dir = "$IP/cache/ext-msgs";
19                 wfMkdirParents( $dir );
20                 $db = dba_open( "$dir/$nameHash.cdb", 'n', 'cdb' );
21                 if ( !$db ) {
22                         echo "Cannot open DB file\n";
23                         exit( 1 );
24                 }
25
26                 # Load extension messages
27                 foreach ( $wgExtensionMessagesFiles as $file ) {
28                         $messages = $magicWords = array();
29                         require( $file );
30                         foreach ( $messages as $lang => $unused ) {
31                                 $wgMessageCache->processMessagesArray( $messages, $lang );
32                         }
33                 }
34
35                 # Write them to the file
36                 foreach ( $wgMessageCache->mExtensionMessages as $lang => $messages ) {
37                         foreach ( $messages as $key => $text ) {
38                                 dba_insert( "$lang:$key", $text, $db );
39                         }
40                 }
41
42                 dba_close( $db );
43         }
44 }
45