CologneBlue rewrite: don't display login/out links in sidebar
authorMatmaRex <matma.rex@gmail.com>
Thu, 27 Sep 2012 17:01:49 +0000 (19:01 +0200)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 4 Oct 2012 19:39:38 +0000 (19:39 +0000)
They do not belong to "My pages".

Instead, display them properly in syslinks, respecting
$wgUseCombinedLoginLink and creating them via usual means.

Change-Id: I8e2cc25e41e46a471b98e0d18336c753b8645d0e

skins/CologneBlue.php

index b172fd2..5844a47 100644 (file)
@@ -549,16 +549,8 @@ class CologneBlueTemplate extends BaseTemplate {
         * @return string
         */
        function sysLinks() {
-               $li = SpecialPage::getTitleFor( 'Userlogin' );
-               $lo = SpecialPage::getTitleFor( 'Userlogout' );
-
-               $rt = $this->getSkin()->getTitle()->getPrefixedURL();
-               if ( 0 == strcasecmp( urlencode( $lo ), $rt ) ) {
-                       $q = array();
-               } else {
-                       $q = array( 'returnto' => $rt );
-               }
-
+               $personalUrls = $this->data['personal_urls'];
+               
                $s = array(
                        $this->getSkin()->mainPageLink(),
                        Linker::linkKnown(
@@ -584,19 +576,17 @@ class CologneBlueTemplate extends BaseTemplate {
                        $s[] = $this->extensionTabLinks();
                }
                if ( $this->data['loggedin'] ) {
-                       $s[] = Linker::linkKnown(
-                               $lo,
-                               wfMessage( 'logout' )->text(),
-                               array(),
-                               $q
-                       );
+                       $s[] = $this->makeLink( 'logout', $personalUrls['logout'] );
                } else {
-                       $s[] = Linker::linkKnown(
-                               $li,
-                               wfMessage( 'login' )->text(),
-                               array(),
-                               $q
-                       );
+                       if ( $personalUrls['createaccount'] ) { // Controlled by $wgUseCombinedLoginLink
+                               $s[] = $this->makeLink( 'createaccount', $personalUrls['createaccount'] );
+                       }
+                       if ( $personalUrls['login'] ) {
+                               $s[] = $this->makeLink( 'login', $personalUrls['login'] );
+                       }
+                       if ( $personalUrls['anonlogin'] ) {
+                               $s[] = $this->makeLink( 'anonlogin', $personalUrls['anonlogin'] );
+                       }
                }
 
                return $this->getSkin()->getLanguage()->pipeList( $s );
@@ -676,6 +666,10 @@ class CologneBlueTemplate extends BaseTemplate {
                                        
                                        // Personal tools ("My pages")
                                        $bar['qbmyoptions'] = $this->getPersonalTools();
+                                       $bar['qbmyoptions']['login'] = false;
+                                       $bar['qbmyoptions']['anonlogin'] = false;
+                                       $bar['qbmyoptions']['logout'] = false;
+                                       $bar['qbmyoptions']['createaccount'] = false;
                                        
                                        $additions_done = true;
                                }