X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSpecialAllmessages.php;h=d44036f214d6b2f269c656d227a748369b34de35;hb=772b5eb07e95144ae38fdceb3c1e2afbd588a4b7;hp=bfba3e32fa8f2ed628a39906214edd0adc560ffd;hpb=c771fc9c96aacb44b86ade5ecca68334c5d8213f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SpecialAllmessages.php b/includes/SpecialAllmessages.php index bfba3e32fa..d44036f214 100644 --- a/includes/SpecialAllmessages.php +++ b/includes/SpecialAllmessages.php @@ -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 | HTML
' . htmlspecialchars( $navText ) . '
' ); + $wgOut->addHTML( 'PHP | HTML | XML
' . htmlspecialchars( $navText ) . '
' ); + } else if ( $ot == 'xml' ) { + $wgOut->disable(); + header( 'Content-type: text/xml' ); + echo makeXml( $messages ); } else { - $wgOut->addHTML( 'PHP | HTML' ); + $wgOut->addHTML( 'PHP | HTML | XML' ); $wgOut->addWikiText( $navText ); $wgOut->addHTML( makeHTMLText( $messages ) ); } @@ -55,6 +60,18 @@ function wfSpecialAllmessages() { wfProfileOut( __METHOD__ ); } +function makeXml( $messages ) { + global $wgLang; + $lang = $wgLang->getCode(); + $txt = "\n"; + $txt .= "\n"; + foreach( $messages as $key => $m ) { + $txt .= "\t" . Xml::element( 'message', array( 'name' => $key ), $m['msg'] ) . "\n"; + } + $txt .= ""; + return $txt; +} + /** * Create the messages array, formatted in PHP to copy to language files. * @param $messages Messages array. @@ -88,8 +105,8 @@ function makeHTMLText( $messages ) { global $wgLang, $wgContLang, $wgUser; wfProfileIn( __METHOD__ ); - $sk =& $wgUser->getSkin(); - $talk = $wgLang->getNsText( NS_TALK ); + $sk = $wgUser->getSkin(); + $talk = wfMsg( 'talkpagelinktext' ); $input = wfElement( 'input', array( 'type' => 'text', @@ -123,7 +140,7 @@ function makeHTMLText( $messages ) { NS_MEDIAWIKI => array(), NS_MEDIAWIKI_TALK => array() ); - $dbr =& wfGetDB( DB_SLAVE ); + $dbr = wfGetDB( DB_SLAVE ); $page = $dbr->tableName( 'page' ); $sql = "SELECT page_namespace,page_title FROM $page WHERE page_namespace IN (" . NS_MEDIAWIKI . ", " . NS_MEDIAWIKI_TALK . ")"; $res = $dbr->query( $sql ); @@ -196,4 +213,4 @@ $mw return $txt; } -?> +