fixed profiling; fixed wfMsg() use of memcached; put block log in initialdata.sql
[lhc/web/wiklou.git] / maintenance / InitialiseMessages.php
1 <?
2
3 # This script is included from update.php and install.php. Do not run it
4 # by itself.
5
6 function initialiseMessages() {
7 global $wgLang, $wgScript, $wgServer;
8
9 $fname = "initialiseMessages";
10 if ( !method_exists( $wgLang, "getAllMessages" ) ) {
11 print "
12 Error, \$wgLang->getAllMessages() does not exist\n
13 You need to insert this function into your language file. For example:
14
15 function getAllMessages()
16 {
17 global \$wgAllMessagesEn;
18 return \$wgAllMessagesEn;
19 }
20 \n";
21 return;
22 }
23 $ns = NS_MEDIAWIKI;
24 $sql = "SELECT 1 FROM cur WHERE cur_namespace=$ns LIMIT 1";
25 $res = wfQuery( $sql, DB_READ, $fname );
26 if ( wfNumRows( $res ) ) {
27 print "MediaWiki: namespace already initialised\n";
28 return;
29 }
30
31 $messages = $wgLang->getAllMessages();
32 $timestamp = wfTimestampNow();
33 $invTimestamp = wfInvertTimestamp( $timestamp );
34 $navText = wfMsgNoDB( "allmessagestext" );
35 $navText .= "
36
37 <table border=1 width=100%><tr><td>
38 '''Name'''
39 </td><td>
40 '''Default text'''
41 </td><td>
42 '''Current text'''
43 </td></tr>";
44
45 print "Initialising \"MediaWiki\" namespace...";
46
47 foreach ( $messages as $key => $message ) {
48 $titleObj = Title::newFromText( $key );
49 $title = $titleObj->getDBkey();
50 $dbencMsg = wfStrencode( $message );
51 $sql = "INSERT INTO cur (cur_namespace, cur_title, cur_text,
52 cur_user_text, cur_timestamp, cur_restrictions,
53 cur_is_new, inverse_timestamp) VALUES (
54 $ns,
55 '$title',
56 '$dbencMsg',
57 'MediaWiki default',
58 '$timestamp',
59 'sysop',
60 1,
61 '$invTimestamp')";
62 wfQuery( $sql, DB_WRITE, $fname );
63 $mwObj =& MagicWord::get( MAG_MSGNW );
64 $mw = $mwObj->getSynonym( 0 );
65 $mw = str_replace( "$1", $key, $mw );
66
67 $message = htmlspecialchars( $message );
68 $navText .=
69 "<tr><td>
70 [$wgServer$wgScript?title=MediaWiki:$title&action=edit $key]
71 </td><td>
72 $message
73 </td><td>
74 $mw
75 </td></tr>";
76 }
77 $navText .= "</table>";
78 $navText = wfStrencode( $navText );
79 $title = wfMsgNoDB( "allmessages" );
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) VALUES (
83 $ns,
84 '$title',
85 '$navText',
86 'MediaWiki default',
87 '$timestamp',
88 'sysop',
89 1,
90 '$invTimestamp')";
91 wfQuery( $sql, DB_WRITE, $fname );
92 print "done \n";
93 }
94