Merge "Type hint against LinkTarget in WatchedItemStore"
[lhc/web/wiklou.git] / includes / skins / SkinTemplate.php
index a7b7569..5fd9f1f 100644 (file)
@@ -207,21 +207,10 @@ class SkinTemplate extends Skin {
        }
 
        /**
-        * initialize various variables and generate the template
-        *
-        * @param OutputPage|null $out
+        * Initialize various variables and generate the template
         */
-       function outputPage( OutputPage $out = null ) {
+       function outputPage() {
                Profiler::instance()->setTemplated( true );
-
-               $oldContext = null;
-               if ( $out !== null ) {
-                       // Deprecated since 1.20, note added in 1.25
-                       wfDeprecated( __METHOD__, '1.25' );
-                       $oldContext = $this->getContext();
-                       $this->setContext( $out->getContext() );
-               }
-
                $out = $this->getOutput();
 
                $this->initPage( $out );
@@ -231,10 +220,6 @@ class SkinTemplate extends Skin {
 
                // result may be an error
                $this->printOrError( $res );
-
-               if ( $oldContext ) {
-                       $this->setContext( $oldContext );
-               }
        }
 
        /**
@@ -271,7 +256,7 @@ class SkinTemplate extends Skin {
         * @return QuickTemplate The template to be executed by outputPage
         */
        protected function prepareQuickTemplate() {
-               global $wgScript, $wgStylePath, $wgMimeType, $wgJsMimeType,
+               global $wgScript, $wgStylePath, $wgMimeType,
                        $wgSitename, $wgLogo, $wgMaxCredits,
                        $wgShowCreditsIfMax, $wgArticlePath,
                        $wgScriptPath, $wgServer;
@@ -321,7 +306,6 @@ class SkinTemplate extends Skin {
                }
 
                $tpl->set( 'mimetype', $wgMimeType );
-               $tpl->set( 'jsmimetype', $wgJsMimeType );
                $tpl->set( 'charset', 'UTF-8' );
                $tpl->set( 'wgScript', $wgScript );
                $tpl->set( 'skinname', $this->skinname );
@@ -332,7 +316,7 @@ class SkinTemplate extends Skin {
                $tpl->set( 'handheld', $request->getBool( 'handheld' ) );
                $tpl->set( 'loggedin', $this->loggedin );
                $tpl->set( 'notspecialpage', !$title->isSpecialPage() );
-               $tpl->set( 'searchaction', $this->escapeSearchLink() );
+               $tpl->set( 'searchaction', $this->getSearchLink() );
                $tpl->set( 'searchtitle', SpecialPage::getTitleFor( 'Search' )->getPrefixedDBkey() );
                $tpl->set( 'search', trim( $request->getVal( 'search' ) ) );
                $tpl->set( 'stylepath', $wgStylePath );
@@ -1293,6 +1277,7 @@ class SkinTemplate extends Skin {
                $nav_urls['contributions'] = false;
                $nav_urls['log'] = false;
                $nav_urls['blockip'] = false;
+               $nav_urls['mute'] = false;
                $nav_urls['emailuser'] = false;
                $nav_urls['userrights'] = false;
 
@@ -1370,6 +1355,13 @@ class SkinTemplate extends Skin {
                        }
 
                        if ( !$user->isAnon() ) {
+                               if ( $this->getUser()->isRegistered() && $this->getConfig()->get( 'EnableSpecialMute' ) ) {
+                                       $nav_urls['mute'] = [
+                                               'text' => $this->msg( 'mute-preferences' )->text(),
+                                               'href' => self::makeSpecialUrlSubpage( 'Mute', $rootUser )
+                                       ];
+                               }
+
                                $sur = new UserrightsPage;
                                $sur->setContext( $this->getContext() );
                                $canChange = $sur->userCanChangeRights( $user );