Merge "Move bottomScripts() call in SkinTemplate"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 15 Aug 2016 07:39:17 +0000 (07:39 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 15 Aug 2016 07:39:17 +0000 (07:39 +0000)
1  2 
includes/skins/SkinTemplate.php

@@@ -17,7 -17,6 +17,7 @@@
   *
   * @file
   */
 +use MediaWiki\MediaWikiServices;
  
  /**
   * Base class for template-based skins.
@@@ -456,7 -455,6 +456,6 @@@ class SkinTemplate extends Skin 
                $tpl->set( 'indicators', $out->getIndicators() );
  
                $tpl->set( 'sitenotice', $this->getSiteNotice() );
-               $tpl->set( 'bottomscripts', $this->bottomScripts() );
                $tpl->set( 'printfooter', $this->printSource() );
                // Wrap the bodyText with #mw-content-text element
                $out->mBodytext = $this->wrapHTML( $title, $out->mBodytext );
                // See Skin::afterContentHook() for further documentation.
                $tpl->set( 'dataAfterContent', $this->afterContentHook() );
  
+               // Do this last in case hooks above add bottom scripts
+               $tpl->set( 'bottomscripts', $this->bottomScripts() );
                return $tpl;
        }
  
                        $loginlink = $this->getUser()->isAllowed( 'createaccount' ) && $useCombinedLoginLink
                                ? 'nav-login-createaccount'
                                : 'pt-login';
 -                      $is_signup = $request->getText( 'type' ) == 'signup';
  
                        $login_url = [
                                'text' => $this->msg( $loginlink )->text(),
                                'href' => self::makeSpecialUrl( 'Userlogin', $returnto ),
                                'active' => $title->isSpecial( 'Userlogin' )
 -                                      && ( $loginlink == 'nav-login-createaccount' || !$is_signup ),
 +                                      || $title->isSpecial( 'CreateAccount' ) && $useCombinedLoginLink,
                        ];
                        $createaccount_url = [
                                'text' => $this->msg( 'pt-createaccount' )->text(),
 -                              'href' => self::makeSpecialUrl( 'Userlogin', "$returnto&type=signup" ),
 -                              'active' => $title->isSpecial( 'Userlogin' ) && $is_signup,
 +                              'href' => self::makeSpecialUrl( 'CreateAccount', $returnto ),
 +                              'active' => $title->isSpecial( 'CreateAccount' ),
                        ];
  
                        // No need to show Talk and Contributions to anons if they can't contribute!
                        if ( User::groupHasPermission( '*', 'edit' ) ) {
 -                              // Show the text "Not logged in"
 -                              $personal_urls['anonuserpage'] = [
 -                                      'text' => $this->msg( 'notloggedin' )->text()
 -                              ];
 -
                                // Because of caching, we can't link directly to the IP talk and
                                // contributions pages. Instead we use the special page shortcuts
                                // (which work correctly regardless of caching). This means we can't
                        }
                }
  
 +              $linkClass = MediaWikiServices::getInstance()->getLinkRenderer()->getLinkClasses( $title );
 +
                // wfMessageFallback will nicely accept $message as an array of fallbacks
                // or just a single key
                $msg = wfMessageFallback( $message )->setContext( $this->getContext() );
                        return $result;
                }
  
 -              return [
 +              $result = [
                        'class' => implode( ' ', $classes ),
                        'text' => $text,
                        'href' => $title->getLocalURL( $query ),
                        'primary' => true ];
 +              if ( $linkClass !== '' ) {
 +                      $result['link-class'] = $linkClass;
 +              }
 +
 +              return $result;
        }
  
        function makeTalkUrlDetails( $name, $urlaction = '' ) {