From: Gergő Tisza Date: Wed, 25 May 2016 19:54:47 +0000 (+0000) Subject: Do not use $wgUser in Linker/LinkRenderer when sessions are disabled X-Git-Tag: 1.31.0-rc.0~6826^2 X-Git-Url: https://git.cyclocoop.org/admin/%7B%24admin_url%7Dmembres/import.php?a=commitdiff_plain;h=8c190da823a4c4c743bc3dceabca664f5a74a2f6;p=lhc%2Fweb%2Fwiklou.git 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 --- 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 ) {