Don't complain about empty log file... I thought this had already been fixed
[mediawiki.git] / maintenance / InitialiseMessages.inc
blob71fb8f039375514d3dc9d5001d22439562daffe8
1 <?
3 # This script is included from update.php and install.php. Do not run it 
4 # by itself.
6 function initialiseMessages( $overwrite = false) {
7         global $wgLang, $wgScript, $wgServer, $wgAllMessagesEn;
9         $fname = "initialiseMessages";
10         $ns = NS_MEDIAWIKI;
11         if ( !$overwrite ) {
12                 $sql = "SELECT 1 FROM cur WHERE cur_namespace=$ns LIMIT 1";
13                 $res = wfQuery( $sql, DB_READ, $fname );
14                 if ( wfNumRows( $res ) ) {
15                         print "MediaWiki: namespace already initialised\n";
16                         return;
17                 }
18         }
20         $timestamp = wfTimestampNow();
21         $invTimestamp = wfInvertTimestamp( $timestamp );
22         $navText = wfMsgNoDB( "allmessagestext" );
23         $navText .= "
25 <table border=1 width=100%><tr><td>
26   '''Name'''
27 </td><td>
28   '''Default text'''
29 </td><td>
30   '''Current text'''
31 </td></tr>";
32         
33         print "Initialising \"MediaWiki\" namespace...";
35         foreach ( $wgAllMessagesEn as $key => $enMsg ) {
36                 $message = wfMsgNoDB( $key );
37                 $titleObj = Title::newFromText( $key );
38                 $title = $titleObj->getDBkey();
39                 $dbencMsg = wfStrencode( $message );
40                 
41                 if ( $overwrite ) {
42                         $sql = "DELETE FROM cur WHERE cur_namespace=$ns AND cur_title='$title'";
43                         wfQuery( $sql, DB_WRITE, $fname );
44                 }
45                 
46                 $sql = "INSERT INTO cur (cur_namespace, cur_title, cur_text,
47                         cur_user_text, cur_timestamp, cur_restrictions,
48                         cur_is_new, inverse_timestamp, cur_touched) VALUES (
49                         $ns,
50                         '$title',
51                         '$dbencMsg',
52                         'MediaWiki default',
53                         '$timestamp',
54                         'sysop',
55                         1,
56                         '$invTimestamp',
57                         '$timestamp')";
58                 wfQuery( $sql, DB_WRITE, $fname );
59                 $mwObj =& MagicWord::get( MAG_MSGNW );
60                 $mw = $mwObj->getSynonym( 0 );
61                 $mw = str_replace( "$1", $key, $mw );
63                 $message = wfEscapeWikiText( $message );
64                 $navText .= 
65 "<tr><td>
66   [$wgServer$wgScript?title=MediaWiki:$title&action=edit $key]
67 </td><td>
68   $message
69 </td><td>
70   $mw
71 </td></tr>";
72         }
73         $navText .= "</table>";
74         $navText = wfStrencode( $navText );
76         $title = wfMsgNoDB( "allmessages" );
78         if ( $overwrite ) {
79                 $sql = "DELETE FROM cur WHERE cur_namespace=$ns AND cur_title='$title'";
80                 wfQuery( $sql, DB_WRITE, $fname );
81         }
82         
83         $sql = "INSERT INTO cur (cur_namespace, cur_title, cur_text,
84                 cur_user_text, cur_timestamp, cur_restrictions,
85                 cur_is_new, inverse_timestamp, cur_touched) VALUES (
86                 $ns,
87                 '$title',
88                 '$navText',
89                 'MediaWiki default',
90                 '$timestamp',
91                 'sysop',
92                 1,
93                 '$invTimestamp',
94                 '$timestamp')";
95         wfQuery( $sql, DB_WRITE, $fname );
96         print "done \n";