Localisation updates for core messages from Betawiki (2008-01-02 18:22 CET)
[lhc/web/wiklou.git] / includes / SpecialAllmessages.php
index 0862cd1..d44036f 100644 (file)
@@ -25,7 +25,8 @@ function wfSpecialAllmessages() {
        $navText = wfMsg( 'allmessagestext' );
 
        # Make sure all extension messages are available
-       MessageCache::loadAllMessages();
+       
+       $wgMessageCache->loadAllMessages();
 
        $sortedArray = array_merge( Language::getMessagesFor( 'en' ), $wgMessageCache->getExtensionMessagesFor( 'en' ) );
        ksort( $sortedArray );
@@ -44,9 +45,13 @@ function wfSpecialAllmessages() {
        wfProfileIn( __METHOD__ . '-output' );
        if ( $ot == 'php' ) {
                $navText .= makePhp( $messages );
-               $wgOut->addHTML( 'PHP | <a href="' . $wgTitle->escapeLocalUrl( 'ot=html' ) . '">HTML</a><pre>' . htmlspecialchars( $navText ) . '</pre>' );
+               $wgOut->addHTML( 'PHP | <a href="' . $wgTitle->escapeLocalUrl( 'ot=html' ) . '">HTML</a> | <a href="' . $wgTitle->escapeLocalUrl( 'ot=xml' ) . '">XML</a><pre>' . htmlspecialchars( $navText ) . '</pre>' );
+       } else if ( $ot == 'xml' ) {
+               $wgOut->disable();
+               header( 'Content-type: text/xml' );
+               echo makeXml( $messages );
        } else {
-               $wgOut->addHTML( '<a href="' . $wgTitle->escapeLocalUrl( 'ot=php' ) . '">PHP</a> | HTML' );
+               $wgOut->addHTML( '<a href="' . $wgTitle->escapeLocalUrl( 'ot=php' ) . '">PHP</a> | HTML |  <a href="' . $wgTitle->escapeLocalUrl( 'ot=xml' ) . '">XML</a>' );
                $wgOut->addWikiText( $navText );
                $wgOut->addHTML( makeHTMLText( $messages ) );
        }
@@ -55,6 +60,18 @@ function wfSpecialAllmessages() {
        wfProfileOut( __METHOD__ );
 }
 
+function makeXml( $messages ) {
+       global $wgLang;
+       $lang = $wgLang->getCode();
+       $txt = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
+       $txt .= "<messages lang=\"$lang\">\n";
+       foreach( $messages as $key => $m ) {
+               $txt .= "\t" . Xml::element( 'message', array( 'name' => $key ), $m['msg'] ) . "\n";
+       }
+       $txt .= "</messages>";
+       return $txt;
+}
+
 /**
  * Create the messages array, formatted in PHP to copy to language files.
  * @param $messages Messages array.
@@ -196,4 +213,4 @@ $mw
        return $txt;
 }
 
-?>
+