Better namespace 8 updating, and watchlist caching in memcached.doc
[lhc/web/wiklou.git] / maintenance / InitialiseMessages.inc
1 <?
2
3 # This script is included from update.php and install.php. Do not run it
4 # by itself.
5
6 function initialiseMessages( $overwrite = false) {
7 global $wgLang, $wgScript, $wgServer, $wgAllMessagesEn;
8
9 $fname = "initialiseMessages";
10 $ns = NS_MEDIAWIKI;
11
12 $timestamp = wfTimestampNow();
13 $invTimestamp = wfInvertTimestamp( $timestamp );
14 $navText = wfMsgNoDB( "allmessagestext" );
15 $navText .= "
16
17 <table border=1 width=100%><tr><td>
18 '''Name'''
19 </td><td>
20 '''Default text'''
21 </td><td>
22 '''Current text'''
23 </td></tr>";
24
25 print "Initialising \"MediaWiki\" namespace...";
26
27 foreach ( $wgAllMessagesEn as $key => $enMsg ) {
28 $message = wfMsgNoDB( $key );
29 $titleObj = Title::newFromText( $key );
30 $title = $titleObj->getDBkey();
31 $dbencMsg = wfStrencode( $message );
32
33 $doInsert = true;
34 if ( $overwrite ) {
35 $sql = "DELETE FROM cur WHERE cur_namespace=$ns AND cur_title='$title'";
36 wfQuery( $sql, DB_WRITE, $fname );
37 } else {
38 $row = wfGetArray("cur", array("1"),
39 array("cur_namespace"=>$ns, "cur_title"=>$title));
40 if ($row) {
41 $doInsert = false;
42 }
43 }
44 if ( $doInsert ) {
45 $sql = "INSERT INTO cur (cur_namespace, cur_title, cur_text,
46 cur_user_text, cur_timestamp, cur_restrictions,
47 cur_is_new, inverse_timestamp, cur_touched) VALUES (
48 $ns,
49 '$title',
50 '$dbencMsg',
51 'MediaWiki default',
52 '$timestamp',
53 'sysop',
54 1,
55 '$invTimestamp',
56 '$timestamp')";
57 wfQuery( $sql, DB_WRITE, $fname );
58 }
59 $mwObj =& MagicWord::get( MAG_MSGNW );
60 $mw = $mwObj->getSynonym( 0 );
61 $mw = str_replace( "$1", $key, $mw );
62
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 );
75
76 $title = wfMsgNoDB( "allmessages" );
77 $sql = "DELETE FROM cur WHERE cur_namespace=$ns AND cur_title='$title'";
78 wfQuery( $sql, DB_WRITE, $fname );
79
80 $sql = "INSERT INTO cur (cur_namespace, cur_title, cur_text,
81 cur_user_text, cur_timestamp, cur_restrictions,
82 cur_is_new, inverse_timestamp, cur_touched) VALUES (
83 $ns,
84 '$title',
85 '$navText',
86 'MediaWiki default',
87 '$timestamp',
88 'sysop',
89 1,
90 '$invTimestamp',
91 '$timestamp')";
92 wfQuery( $sql, DB_WRITE, $fname );
93 print "done \n";
94 }
95