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

Revision: 106283
Author:   preilly
Date:     2011-12-14 23:55:52 +0000 (Wed, 14 Dec 2011)
Log Message:
-----------
1.18wmf1: MFT r106269 - r106231

Modified Paths:
--------------
    branches/wmf/1.18wmf1/extensions/MobileFrontend/FooterTemplate.php
    branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.php

Modified: branches/wmf/1.18wmf1/extensions/MobileFrontend/FooterTemplate.php
===================================================================
--- branches/wmf/1.18wmf1/extensions/MobileFrontend/FooterTemplate.php  
2011-12-14 23:44:58 UTC (rev 106282)
+++ branches/wmf/1.18wmf1/extensions/MobileFrontend/FooterTemplate.php  
2011-12-14 23:55:52 UTC (rev 106283)
@@ -27,7 +27,8 @@
                        $imagesURL = $this->data['enableImagesURL'];
                }
 
-               $logoutLink = ( !empty( $this->data['logoutHtml'] ) ) ? ' | ' . 
$this->data['logoutHtml'] : '';
+               $logoutLink = ( $this->data['logoutHtml'] ) ? ' | ' . 
$this->data['logoutHtml'] : '';
+               $logoutLink = ( $this->data['loginHtml'] ) ? ' | ' . 
$this->data['loginHtml'] : $logoutLink;
 
                $feedbackLink = ( $this->data['code'] == 'en' && 
$this->data['isBetaGroupMember'] ) ? "| <a 
href=\"{$leaveFeedbackURL}\">{$leaveFeedback}</a>" : '';
 

Modified: branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.php
===================================================================
--- branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.php  
2011-12-14 23:44:58 UTC (rev 106282)
+++ branches/wmf/1.18wmf1/extensions/MobileFrontend/MobileFrontend.php  
2011-12-14 23:55:52 UTC (rev 106283)
@@ -105,7 +105,7 @@
 }
 
 class ExtMobileFrontend {
-       const VERSION = '0.6.0';
+       const VERSION = '0.6.1';
 
        /**
         * @var DOMDocument
@@ -151,6 +151,7 @@
        public static $wsLoginFormAction = '';
        public static $isFilePage;
        public static $logoutHtml;
+       public static $loginHtml;
 
        public static $messageKeys = array(
                'mobile-frontend-show-button',
@@ -306,7 +307,7 @@
                        $footerlinks = $tpl->data['footerlinks'];
                        $mobileViewUrl = $wgRequest->escapeAppendQuery( 
'useformat=mobile' );
 
-                       $tpl->set( 'mobileview', "<a href='{$mobileViewUrl}'>" 
. wfMsg( 'mobile-frontend-view' ) . "</a>" );
+                       $tpl->set( 'mobileview', "<a href='{$mobileViewUrl}' 
class='noprint'>" . wfMsg( 'mobile-frontend-view' ) . "</a>" );
                        $footerlinks['places'][] = 'mobileview';
                        $tpl->set( 'footerlinks', $footerlinks );
                }
@@ -435,8 +436,13 @@
                                }
                                $fragmentDelimiter = ( !empty( 
$parsedUrl['fragment'] ) ) ? '#' : '';
                                $queryDelimiter = ( !empty( $parsedUrl['query'] 
) ) ? '?' : '';
-                               $redirect = $parsedUrl['scheme'] . '://' .      
 $parsedUrl['host'] . $parsedUrl['path']
-                               . $queryDelimiter . $parsedUrl['query'] . 
$fragmentDelimiter . $parsedUrl['fragment'];
+                               $redirect = $parsedUrl['scheme'] . '://' .      
 $parsedUrl['host'] . $parsedUrl['path'];
+                               if ( isset( $parsedUrl['query'] ) ) {
+                                       $redirect .= $queryDelimiter . 
$parsedUrl['query'];
+                               }
+                               if ( isset( $parsedUrl['fragment'] ) ) {
+                                       $redirect .= $fragmentDelimiter . 
$parsedUrl['fragment'];
+                               }
                        }
                }
                return true;
@@ -1316,11 +1322,34 @@
 
                $itemToRemoveRecords = $this->parseItemsToRemove();
 
-               $ptLogout = $this->doc->getElementById( 'pt-logout' );
+               if ( self::$isBetaGroupMember ) {
+                       $ptLogout = $this->doc->getElementById( 'pt-logout' );
 
-               if ( $ptLogout ) {
-                       $ptLogoutLink = $ptLogout->firstChild;
-                       self::$logoutHtml = $this->doc->saveXML( $ptLogoutLink, 
LIBXML_NOEMPTYTAG );
+                       if ( $ptLogout ) {
+                               $ptLogoutLink = $ptLogout->firstChild;
+                               self::$logoutHtml = $this->doc->saveXML( 
$ptLogoutLink, LIBXML_NOEMPTYTAG );
+                       }
+
+                       $ptAnonLogin = $this->doc->getElementById( 
'pt-anonlogin' );
+
+                       if ( $ptAnonLogin ) {
+                               $ptAnonLoginLink = $ptAnonLogin->firstChild;
+                               if ( $ptAnonLoginLink && 
$ptAnonLoginLink->hasAttributes() ) {
+                                       $ptAnonLoginLinkHref = 
$ptAnonLoginLink->getAttributeNode( 'href' );
+                                       $ptAnonLoginLinkTitle = 
$ptAnonLoginLink->getAttributeNode( 'title' );
+                                       if ( $ptAnonLoginLinkTitle ) {
+                                               
$ptAnonLoginLinkTitle->nodeValue = self::$messages['mobile-frontend-login'];
+                                       }
+                                       if ( $ptAnonLoginLinkHref ) {
+                                               $ptAnonLoginLinkHref->nodeValue 
= str_replace( "&", "&amp;", $ptAnonLoginLinkHref->nodeValue ) . 
'&amp;useformat=mobile';
+                                       }
+                                       $ptAnonLoginLinkText = 
$ptAnonLoginLink->firstChild;
+                                       if ( $ptAnonLoginLinkText ) {
+                                               $ptAnonLoginLinkText->nodeValue 
= self::$messages['mobile-frontend-login'];
+                                       }
+                               }
+                               self::$loginHtml = $this->doc->saveXML( 
$ptAnonLoginLink, LIBXML_NOEMPTYTAG );
+                       }
                }
 
                if ( self::$title->isSpecial( 'Userlogin' ) && 
self::$isBetaGroupMember ) {
@@ -1328,7 +1357,7 @@
 
                        if ( $userlogin && get_class( $userlogin ) === 
'DOMElement' ) {
                                $firstHeading = $this->doc->getElementById( 
'firstHeading' );
-                               if ( !empty( $firstHeading ) ) {
+                               if ( $firstHeading ) {
                                        $firstHeading->nodeValue = '';
                                }
                        }
@@ -1521,7 +1550,8 @@
        public function getFooterTemplate() {
                wfProfileIn( __METHOD__ );
                $footerTemplate = new FooterTemplate();
-               $logoutHtml = ( !empty( self::$logoutHtml ) ) ? 
self::$logoutHtml : '';
+               $logoutHtml = ( self::$logoutHtml ) ? self::$logoutHtml : '';
+               $loginHtml = ( self::$loginHtml ) ? self::$loginHtml : '';
                $options = array(
                                                'messages' => self::$messages,
                                                'leaveFeedbackURL' => 
self::$leaveFeedbackURL,
@@ -1531,6 +1561,7 @@
                                                'disableImagesURL' => 
self::$disableImagesURL,
                                                'enableImagesURL' => 
self::$enableImagesURL,
                                                'logoutHtml' => $logoutHtml,
+                                               'loginHtml' => $loginHtml,
                                                'code' => self::$code,
                                                'isBetaGroupMember' => 
self::$isBetaGroupMember,
                                                );


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

Reply via email to