Mass conversion to SpecialPageFactory service
[lhc/web/wiklou.git] / includes / skins / Skin.php
index 55d3462..69168c6 100644 (file)
@@ -212,15 +212,9 @@ abstract class Skin extends ContextSource {
                        'syndicate' => [],
                ];
 
-               // Support for high-density display images if enabled
-               if ( $config->get( 'ResponsiveImages' ) ) {
-                       $modules['core'][] = 'mediawiki.hidpi';
-               }
-
                // Preload jquery.tablesorter for mediawiki.page.ready
                if ( strpos( $out->getHTML(), 'sortable' ) !== false ) {
                        $modules['content'][] = 'jquery.tablesorter';
-                       $modules['styles']['content'][] = 'jquery.tablesorter.styles';
                }
 
                // Preload jquery.makeCollapsible for mediawiki.page.ready
@@ -237,6 +231,7 @@ abstract class Skin extends ContextSource {
 
                if ( $out->isTOCEnabled() ) {
                        $modules['content'][] = 'mediawiki.toc';
+                       $modules['styles']['content'][] = 'mediawiki.toc.styles';
                }
 
                // Add various resources if required
@@ -397,24 +392,23 @@ abstract class Skin extends ContextSource {
 
        /**
         * Outputs the HTML generated by other functions.
-        * @param OutputPage $out
+        * @param OutputPage|null $out
         */
        abstract function outputPage( OutputPage $out = null );
 
        /**
         * @param array $data
-        * @param string $nonce OutputPage::getCSPNonce()
+        * @param string|null $nonce OutputPage::getCSPNonce()
         * @return string|WrappedString HTML
         */
-       static function makeVariablesScript( $data, $nonce = null ) {
+       public static function makeVariablesScript( $data, $nonce = null ) {
                if ( $data ) {
                        return ResourceLoader::makeInlineScript(
                                ResourceLoader::makeConfigSetScript( $data ),
                                $nonce
                        );
-               } else {
-                       return '';
                }
+               return '';
        }
 
        /**
@@ -455,7 +449,8 @@ abstract class Skin extends ContextSource {
                if ( $title->isSpecialPage() ) {
                        $type = 'ns-special';
                        // T25315: provide a class based on the canonical special page name without subpages
-                       list( $canonicalName ) = SpecialPageFactory::resolveAlias( $title->getDBkey() );
+                       list( $canonicalName ) = MediaWikiServices::getInstance()->getSpecialPageFactory()->
+                               resolveAlias( $title->getDBkey() );
                        if ( $canonicalName ) {
                                $type .= ' ' . Sanitizer::escapeClass( "mw-special-$canonicalName" );
                        } else {
@@ -745,7 +740,7 @@ abstract class Skin extends ContextSource {
        }
 
        /**
-        * @param OutputPage $out Defaults to $this->getOutput() if left as null
+        * @param OutputPage|null $out Defaults to $this->getOutput() if left as null
         * @return string
         */
        function subPageSubtitle( $out = null ) {
@@ -1312,7 +1307,7 @@ abstract class Skin extends ContextSource {
                                [
                                        'checkKeys' => [
                                                // Unless there is both no exact $code override nor an i18n definition
-                                               // in the the software, the only MediaWiki page to check is for $code.
+                                               // in the software, the only MediaWiki page to check is for $code.
                                                $msgCache->getCheckKey( $this->getLanguage()->getCode() )
                                        ],
                                        'lockTSE' => 30
@@ -1532,7 +1527,7 @@ abstract class Skin extends ContextSource {
         *   should fall back to the next notice in its sequence
         */
        private function getCachedNotice( $name ) {
-               global $wgRenderHashAppend, $wgContLang;
+               global $wgRenderHashAppend;
 
                $needParse = false;
 
@@ -1565,12 +1560,13 @@ abstract class Skin extends ContextSource {
                        }
                );
 
+               $contLang = MediaWikiServices::getInstance()->getContentLanguage();
                return Html::rawElement(
                        'div',
                        [
                                'id' => 'localNotice',
-                               'lang' => $wgContLang->getHtmlCode(),
-                               'dir' => $wgContLang->getDir()
+                               'lang' => $contLang->getHtmlCode(),
+                               'dir' => $contLang->getDir()
                        ],
                        $parsed
                );
@@ -1611,7 +1607,7 @@ abstract class Skin extends ContextSource {
         *   the current page, if the section is included from a template)
         * @param string $section The designation of the section being pointed to,
         *   to be included in the link, like "&section=$section"
-        * @param string $tooltip The tooltip to use for the link: will be escaped
+        * @param string|null $tooltip The tooltip to use for the link: will be escaped
         *   and wrapped in the 'editsectionhint' message
         * @param string $lang Language code
         * @return string HTML to use for edit link