From 8c190da823a4c4c743bc3dceabca664f5a74a2f6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gerg=C5=91=20Tisza?= Date: Wed, 25 May 2016 19:54:47 +0000 Subject: [PATCH] Do not use $wgUser in Linker/LinkRenderer when sessions are disabled When MW_NO_SESSION is set, getting the user options for $wgUser will result in an error. Check for that in the service definition, and reuse that check in Linker. Also removed an unused use clause. Bug: T136124 Change-Id: Id6448d12e8f4a8a94852980e5eb6ccb202066822 --- includes/Linker.php | 4 ++-- includes/ServiceWiring.php | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/includes/Linker.php b/includes/Linker.php index 990ad15cf7..0b80c08830 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -217,8 +217,8 @@ class Linker { if ( $options ) { // Custom options, create new LinkRenderer if ( !isset( $options['stubThreshold'] ) ) { - global $wgUser; - $options['stubThreshold'] = $wgUser->getStubThreshold(); + $defaultLinkRenderer = $services->getLinkRenderer(); + $options['stubThreshold'] = $defaultLinkRenderer->getStubThreshold(); } $linkRenderer = $services->getLinkRendererFactory() ->createFromLegacyOptions( $options ); diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 2250935f9f..b076d07ef6 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -38,7 +38,6 @@ */ use MediaWiki\Interwiki\ClassicInterwikiLookup; -use MediaWiki\Linker\LinkRenderer; use MediaWiki\Linker\LinkRendererFactory; use MediaWiki\MediaWikiServices; @@ -170,7 +169,11 @@ return [ 'LinkRenderer' => function( MediaWikiServices $services ) { global $wgUser; - return $services->getLinkRendererFactory()->createForUser( $wgUser ); + if ( defined( 'MW_NO_SESSION' ) ) { + return $services->getLinkRendererFactory()->create(); + } else { + return $services->getLinkRendererFactory()->createForUser( $wgUser ); + } }, 'GenderCache' => function( MediaWikiServices $services ) { -- 2.20.1