https://www.mediawiki.org/wiki/Special:Code/MediaWiki/102116

Revision: 102116
Author:   ialex
Date:     2011-11-05 20:25:00 +0000 (Sat, 05 Nov 2011)
Log Message:
-----------
* Only call Title::getPageLanguage() when necessary, i.e. after 
"!$wgDisableLangConversion && $wgCanonicalLanguageLinks" check passed
* Removed creation of Special:Recentchanges' Title object and use 
Title::isSpecial() instead

Modified Paths:
--------------
    trunk/phase3/includes/OutputPage.php

Modified: trunk/phase3/includes/OutputPage.php
===================================================================
--- trunk/phase3/includes/OutputPage.php        2011-11-05 20:20:39 UTC (rev 
102115)
+++ trunk/phase3/includes/OutputPage.php        2011-11-05 20:25:00 UTC (rev 
102116)
@@ -2895,28 +2895,29 @@
                        ) );
                }
 
-               $lang = $this->getTitle()->getPageLanguage();
 
                # Language variants
-               if ( !$wgDisableLangConversion && $wgCanonicalLanguageLinks
-                       && $lang->hasVariants() ) {
+               if ( !$wgDisableLangConversion && $wgCanonicalLanguageLinks ) {
+                       $lang = $this->getTitle()->getPageLanguage();
+                       if ( $lang->hasVariants() ) {
 
-                       $urlvar = $lang->getURLVariant();
+                               $urlvar = $lang->getURLVariant();
 
-                       if ( !$urlvar ) {
-                               $variants = $lang->getVariants();
-                               foreach ( $variants as $_v ) {
+                               if ( !$urlvar ) {
+                                       $variants = $lang->getVariants();
+                                       foreach ( $variants as $_v ) {
+                                               $tags[] = Html::element( 
'link', array(
+                                                       'rel' => 'alternate',
+                                                       'hreflang' => $_v,
+                                                       'href' => 
$this->getTitle()->getLocalURL( '', $_v ) )
+                                               );
+                                       }
+                               } else {
                                        $tags[] = Html::element( 'link', array(
-                                               'rel' => 'alternate',
-                                               'hreflang' => $_v,
-                                               'href' => 
$this->getTitle()->getLocalURL( '', $_v ) )
-                                       );
+                                               'rel' => 'canonical',
+                                               'href' => 
$this->getTitle()->getCanonicalUrl()
+                                       ) );
                                }
-                       } else {
-                               $tags[] = Html::element( 'link', array(
-                                       'rel' => 'canonical',
-                                       'href' => 
$this->getTitle()->getCanonicalUrl()
-                               ) );
                        }
                }
 
@@ -2964,9 +2965,6 @@
                        # like to promote instead of the RC feed (maybe like a 
"Recent New Articles"
                        # or "Breaking news" one). For this, we see if 
$wgOverrideSiteFeed is defined.
                        # If so, use it instead.
-
-                       $rctitle = SpecialPage::getTitleFor( 'Recentchanges' );
-
                        if ( $wgOverrideSiteFeed ) {
                                foreach ( $wgOverrideSiteFeed as $type => 
$feedUrl ) {
                                        // Note, this->feedLink escapes the url.
@@ -2976,11 +2974,11 @@
                                                $this->msg( 
"site-{$type}-feed", $wgSitename )->text()
                                        );
                                }
-                       } elseif ( $this->getTitle()->getPrefixedText() != 
$rctitle->getPrefixedText() ) {
+                       } elseif ( !$this->getTitle()->isSpecial( 
'Recentchanges' ) ) {
                                foreach ( $wgAdvertisedFeedTypes as $format ) {
                                        $tags[] = $this->feedLink(
                                                $format,
-                                               $rctitle->getLocalURL( 
"feed={$format}" ),
+                                               $this->getTitle()->getLocalURL( 
"feed={$format}" ),
                                                $this->msg( 
"site-{$format}-feed", $wgSitename )->text() # For grep: 'site-rss-feed', 
'site-atom-feed'.
                                        );
                                }


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to