X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoaderContext.php;h=d6573afc46e1bd9176b15352bcb22e315c081195;hb=a186dc62fd5ac334488f9566748f6fd65bdcea35;hp=d41198ae55380505067dc07aca1647d4992ed5ed;hpb=8eb6cf585c5fb3d7dd5f014bac27518959512b98;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/resourceloader/ResourceLoaderContext.php b/includes/resourceloader/ResourceLoaderContext.php index d41198ae55..d6573afc46 100644 --- a/includes/resourceloader/ResourceLoaderContext.php +++ b/includes/resourceloader/ResourceLoaderContext.php @@ -74,7 +74,7 @@ class ResourceLoaderContext implements MessageLocalizer { $this->user = $request->getRawVal( 'user' ); $this->debug = $request->getFuzzyBool( 'debug', - $resourceLoader->getConfig()->get( 'ResourceLoaderDebug' ) + $this->getConfig()->get( 'ResourceLoaderDebug' ) ); $this->only = $request->getRawVal( 'only', null ); $this->version = $request->getRawVal( 'version', null ); @@ -89,7 +89,7 @@ class ResourceLoaderContext implements MessageLocalizer { $skinnames = Skin::getSkinNames(); // If no skin is specified, or we don't recognize the skin, use the default skin if ( !$this->skin || !isset( $skinnames[$this->skin] ) ) { - $this->skin = $resourceLoader->getConfig()->get( 'DefaultSkin' ); + $this->skin = $this->getConfig()->get( 'DefaultSkin' ); } } @@ -133,9 +133,20 @@ class ResourceLoaderContext implements MessageLocalizer { /** * Return a dummy ResourceLoaderContext object suitable for passing into * things that don't "really" need a context. + * + * Use cases: + * - Creating html5shiv script tag in OutputPage. + * - FileModule::readStyleFiles (deprecated, to be removed). + * - Unit tests (deprecated, create empty instance directly or use RLTestCase). + * * @return ResourceLoaderContext */ public static function newDummyContext() { + // This currently creates a non-empty instance of ResourceLoader (all modules registered), + // but that's probably not needed. So once that moves into ServiceWiring, this'll + // become more like the EmptyResourceLoader class we have in PHPUnit tests, which + // is what this should've had originally. If this turns out to be untrue, change to: + // `MediaWikiServices::getInstance()->getResourceLoader()` instead. return new self( new ResourceLoader( MediaWikiServices::getInstance()->getMainConfig(), LoggerFactory::getInstance( 'resourceloader' ) @@ -149,6 +160,13 @@ class ResourceLoaderContext implements MessageLocalizer { return $this->resourceLoader; } + /** + * @return Config + */ + public function getConfig() { + return $this->getResourceLoader()->getConfig(); + } + /** * @return WebRequest */ @@ -181,7 +199,7 @@ class ResourceLoaderContext implements MessageLocalizer { $lang = $this->getRequest()->getRawVal( 'lang', '' ); // Stricter version of RequestContext::sanitizeLangCode() if ( !Language::isValidBuiltInCode( $lang ) ) { - $lang = $this->getResourceLoader()->getConfig()->get( 'LanguageCode' ); + $lang = $this->getConfig()->get( 'LanguageCode' ); } $this->language = $lang; } @@ -226,7 +244,7 @@ class ResourceLoaderContext implements MessageLocalizer { * @return Message */ public function msg( $key ) { - return call_user_func_array( 'wfMessage', func_get_args() ) + return wfMessage( ...func_get_args() ) ->inLanguage( $this->getLanguage() ) // Use a dummy title because there is no real title // for this endpoint, and the cache won't vary on it