* (bug 1949) Profiling typo in rare error case
[lhc/web/wiklou.git] / includes / SpecialAllmessages.php
index 91f7f1f..fa7e0b3 100644 (file)
  */
 function wfSpecialAllmessages() {
        global $wgOut, $wgAllMessagesEn, $wgRequest, $wgMessageCache, $wgTitle;
-       
+       global $wgLanguageCode, $wgContLanguageCode, $wgContLang;
+       global $wgUseDatabaseMessages;
+
+       if(!$wgUseDatabaseMessages) {
+               $wgOut->addHTML(wfMsg('allmessagesnotsupportedDB'));
+               return;
+       }
+
        $fname = "wfSpecialAllMessages";
        wfProfileIn( $fname );
        
@@ -19,16 +26,20 @@ function wfSpecialAllmessages() {
        $mwMsg =& MagicWord::get( MAG_MSG );
        
        $navText = wfMsg( 'allmessagestext', $mwMsg->getSynonym( 0 ) );
+
+
        $first = true;
        $sortedArray = $wgAllMessagesEn;
        ksort( $sortedArray );
        $messages = array();
        $wgMessageCache->disableTransform();
+
        foreach ( $sortedArray as $key => $enMsg ) {
                $messages[$key]['enmsg'] = $enMsg;
                $messages[$key]['statmsg'] = wfMsgNoDb( $key );
                $messages[$key]['msg'] = wfMsg ( $key );
        }
+
        $wgMessageCache->enableTransform();
        wfProfileOut( "$fname-setup" );
        
@@ -77,7 +88,7 @@ function makePhp($messages) {
  *
  */
 function makeHTMLText( $messages ) {
-       global $wgLang, $wgUser;
+       global $wgLang, $wgUser, $wgLanguageCode, $wgContLanguageCode, $wgContLang;
        $fname = "makeHTMLText";
        wfProfileIn( $fname );
        
@@ -89,9 +100,9 @@ function makeHTMLText( $messages ) {
 
        <table border='1' cellspacing='0' width='100%'>
        <tr bgcolor='#b2b2ff'>
-               <th>Name</th>
-               <th>Default text</th>
-               <th>Current text</th>
+               <th>" . wfMsg('allmessagesname') . "</th>
+               <th>" . wfMsg('allmessagesdefault') . "</th>
+               <th>" . wfMsg('allmessagescurrent')  . "</th>
        </tr>";
        
        wfProfileIn( "$fname-check" );
@@ -101,18 +112,24 @@ function makeHTMLText( $messages ) {
                NS_MEDIAWIKI => array(),
                NS_MEDIAWIKI_TALK => array()
        );
-       $sql = "SELECT cur_namespace,cur_title FROM cur WHERE cur_namespace IN (" . NS_MEDIAWIKI . ", " . NS_MEDIAWIKI_TALK . ")";
        $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 );
        while( $s = $dbr->fetchObject( $res ) ) {
-               $pageExists[$s->cur_namespace][$s->cur_title] = true;
+               $pageExists[$s->page_namespace][$s->page_title] = true;
        }
        $dbr->freeResult( $res );
        wfProfileOut( "$fname-check" );
 
        wfProfileIn( "$fname-output" );
+
        foreach( $messages as $key => $m ) {
+
                $title = $wgLang->ucfirst( $key );
+               if($wgLanguageCode != $wgContLanguageCode)
+                       $title.="/$wgLanguageCode";
+
                $titleObj =& Title::makeTitle( NS_MEDIAWIKI, $title );
                $talkPage =& Title::makeTitle( NS_MEDIAWIKI_TALK, $title );