* (bug 6701) Kazakh language variants in MessagesEn.php
[lhc/web/wiklou.git] / includes / Parser.php
index 12ec5d1..6bcfcff 100644 (file)
@@ -2708,7 +2708,7 @@ class Parser
                if ( !$argsOnly ) {
                        $braceCallbacks[2] = array( &$this, 'braceSubstitution' );
                }
-               if ( !$this->mOutputType != OT_MSG ) {
+               if ( $this->mOutputType != OT_MSG ) {
                        $braceCallbacks[3] = array( &$this, 'argSubstitution' );
                }
                if ( $braceCallbacks ) {
@@ -3993,11 +3993,6 @@ class Parser
 
                                        $pdbk = $title->getPrefixedDBkey();
 
-                                       // add the original text into query to check for notitleconvert pages
-                                       $variantTitle = Title::makeTitle( $ns, $title->getText() );
-                                       $linkBatch->addObj( $variantTitle );
-                                       $variantMap[$variantTitle->getPrefixedDBkey()][] = $key;
-
                                        // generate all variants of the link title text
                                        $allTextVariants = $wgContLang->convertLinkToAllVariants($title->getText());
 
@@ -4012,60 +4007,59 @@ class Parser
                                        }
                                }
                                
-                               # construct query
-                               $titleClause = $linkBatch->constructSet('page', $dbr);
-                               $variantQuery =  "SELECT page_id, page_namespace, page_title";
-                               if ( $threshold > 0 ) {
-                                       $variantQuery .= ', page_len, page_is_redirect';
-                               }
-                               $variantQuery .= ", page_no_title_convert FROM $page WHERE $titleClause";
-                               if ( $options & RLH_FOR_UPDATE ) {
-                                       $query .= ' FOR UPDATE';
-                               }
-                               
-                               $varRes = $dbr->query( $variantQuery, $fname );
-                                               
-                               # for each found variants, figure out link holders and replace
-                               while ( $s = $dbr->fetchObject($varRes) ) {
 
-                                       $variantTitle = Title::makeTitle( $s->page_namespace, $s->page_title );
-                                       $varPdbk = $variantTitle->getPrefixedDBkey();
-                                       $linkCache->addGoodLinkObj( $s->page_id, $variantTitle );
-                                       $this->mOutput->addLink( $variantTitle, $s->page_id );
+                               if(!$linkBatch->isEmpty()){
+                                       // construct query
+                                       $titleClause = $linkBatch->constructSet('page', $dbr);
 
-                                       $noTitleConvert = $s->page_no_title_convert;
+                                       $variantQuery =  "SELECT page_id, page_namespace, page_title";
+                                       if ( $threshold > 0 ) {
+                                               $variantQuery .= ', page_len, page_is_redirect';
+                                       }
 
-                                       $holderKeys = $variantMap[$varPdbk];
+                                       $variantQuery .= " FROM $page WHERE $titleClause";
+                                       if ( $options & RLH_FOR_UPDATE ) {
+                                               $variantQuery .= ' FOR UPDATE';
+                                       }
 
-                                       // loop over link holders
-                                       foreach($holderKeys as $key){                                           
-                                               $title = $this->mLinkHolders['titles'][$key];
-                                               if ( is_null( $title ) ) continue;
+                                       $varRes = $dbr->query( $variantQuery, $fname );
 
-                                               $pdbk = $title->getPrefixedDBkey();
+                                       // for each found variants, figure out link holders and replace
+                                       while ( $s = $dbr->fetchObject($varRes) ) {
 
-                                               if(!isset($colours[$pdbk]) || ($noTitleConvert && $colours[$pdbk] == 1)){
-                                                       // found link in some of the variants, replace the link holder data
-                                                       $this->mLinkHolders['titles'][$key] = $variantTitle;
-                                                       $this->mLinkHolders['dbkeys'][$key] = $variantTitle->getDBkey();
+                                               $variantTitle = Title::makeTitle( $s->page_namespace, $s->page_title );
+                                               $varPdbk = $variantTitle->getPrefixedDBkey();
+                                               $linkCache->addGoodLinkObj( $s->page_id, $variantTitle );
+                                               $this->mOutput->addLink( $variantTitle, $s->page_id );
+
+                                               $holderKeys = $variantMap[$varPdbk];
+
+                                               // loop over link holders
+                                               foreach($holderKeys as $key){                                           
+                                                       $title = $this->mLinkHolders['titles'][$key];
+                                                       if ( is_null( $title ) ) continue;
+
+                                                       $pdbk = $title->getPrefixedDBkey();
+
+                                                       if(!isset($colours[$pdbk])){
+                                                               // found link in some of the variants, replace the link holder data
+                                                               $this->mLinkHolders['titles'][$key] = $variantTitle;
+                                                               $this->mLinkHolders['dbkeys'][$key] = $variantTitle->getDBkey();
                                                        
-                                                       // prevent link conversion if needed
-                                                       if($noTitleConvert)
-                                                               $this->mLinkHolders['texts'][$key] = $wgContLang->markNoConversion($variantTitle->getText(),true);
-
-                                                       // set pdbk and colour
-                                                       $pdbks[$key] = $varPdbk;
-                                                       if ( $threshold >  0 ) {
-                                                               $size = $s->page_len;
-                                                               if ( $s->page_is_redirect || $s->page_namespace != 0 || $size >= $threshold ) {
+                                                               // set pdbk and colour
+                                                               $pdbks[$key] = $varPdbk;
+                                                               if ( $threshold >  0 ) {
+                                                                       $size = $s->page_len;
+                                                                       if ( $s->page_is_redirect || $s->page_namespace != 0 || $size >= $threshold ) {
+                                                                               $colours[$varPdbk] = 1;
+                                                                       } else {
+                                                                               $colours[$varPdbk] = 2;
+                                                                       }
+                                                               } 
+                                                               else {
                                                                        $colours[$varPdbk] = 1;
-                                                               } else {
-                                                                       $colours[$varPdbk] = 2;
-                                                               }
-                                                       } 
-                                                       else {
-                                                               $colours[$varPdbk] = 1;
-                                                       }                                       
+                                                               }                                       
+                                                       }
                                                }
                                        }
                                }