disable(); $fname = "initialiseMessages"; $ns = NS_MEDIAWIKI; $timestamp = wfTimestampNow(); $invTimestamp = wfInvertTimestamp( $timestamp ); $mwMsg =& MagicWord::get( MAG_MSG ); $navText = str_replace( "$1", "allmessagestext", $mwMsg->getSynonym( 0 ) ); $navText .= " "; print "Initialising \"MediaWiki\" namespace...\n"; $sql = "SELECT cur_title FROM cur WHERE cur_namespace=$ns AND cur_title IN("; $first = true; $sortedArray = $wgAllMessagesEn; ksort( $sortedArray ); foreach ( $sortedArray as $key => $enMsg ) { if ( $first ) { $first = false; } else { $sql .= ","; } $message = wfMsgNoDB( $key ); $titleObj = Title::newFromText( $key ); $enctitle = wfStrencode($titleObj->getDBkey()); $sql .= "'$enctitle'"; } $sql .= ")"; $res = wfQuery( $sql, DB_READ ); $row = wfFetchObject( $res ); $exists = array(); while ( $row ) { $exists[$row->cur_title] = 1; $row = wfFetchObject( $res ); } $sql = "INSERT INTO cur (cur_namespace, cur_title, cur_text, cur_user_text, cur_timestamp, cur_restrictions, cur_is_new, inverse_timestamp, cur_touched) VALUES "; $first = true; $mwObj =& MagicWord::get( MAG_MSGNW ); $msgnw = $mwObj->getSynonym( 0 ); $talk = $wgLang->getNsText( NS_TALK ); $mwtalk = $wgLang->getNsText( NS_MEDIAWIKI_TALK ); foreach ( $sortedArray as $key => $enMsg ) { $message = wfMsgNoDB( $key ); $titleObj = Title::newFromText( $key ); $title = $titleObj->getDBkey(); $dbencMsg = wfStrencode( $message ); $doInsert = true; if ( $overwrite ) { wfQuery( "DELETE FROM cur WHERE cur_namespace=$ns AND cur_title='$title'", DB_WRITE, $fname ); } else { if (array_key_exists($title, $exists)) { $doInsert = false; } } if ( $doInsert ) { if ( $first ) { $first = false; } else { $sql .= ","; } $sql .= "($ns, '$title', '$dbencMsg', 'MediaWiki default', '$timestamp', 'sysop', 1, '$invTimestamp', '$timestamp')"; } $mw = str_replace( "$1", $key, $msgnw ); $message = wfEscapeWikiText( $message ); $navText .= ""; } if ( !$first ) { wfQuery( $sql, DB_WRITE, $fname ); } $navText .= "
'''Name''' '''Default text''' '''Current text'''
[$wgServer$wgScript?title=MediaWiki:$title&action=edit $key]
[[$mwtalk:$title|$talk]]
$message $mw
"; $title = wfMsgNoDB( "allmessages" ); $titleObj = Title::makeTitle( NS_MEDIAWIKI, $title ); $wgArticle = new Article( $titleObj ); $wgOut->disable(); $wgUser = User::newFromName( 'MediaWiki default' ); if ( $titleObj->getArticleID() ) { $wgArticle->updateArticle( $navText, '', 0, 0 ); } else { $wgArticle->insertNewArticle( $navText, '', 0, 0 ); } if( $wgDatabaseMessages ) { print "Clearing message cache..."; $wgMemc->delete( "$wgDBname:messages" ); print "Done.\n"; } } ?>