From cad68eb943d7667060ed555295f74547aae2f6c0 Mon Sep 17 00:00:00 2001 From: Trevor Parscal Date: Sat, 4 Sep 2010 10:53:57 +0000 Subject: [PATCH] Better solution for r72367, this allows file modules to always be written in ltr, while site modules are written in whatever $wgContLang is. --- includes/ResourceLoader.php | 2 +- includes/ResourceLoaderContext.php | 9 +-------- includes/ResourceLoaderModule.php | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/includes/ResourceLoader.php b/includes/ResourceLoader.php index 4b208ce30c..f79114af8b 100644 --- a/includes/ResourceLoader.php +++ b/includes/ResourceLoader.php @@ -294,7 +294,7 @@ class ResourceLoader { $context->shouldIncludeStyles() && ( $styles .= self::$modules[$name]->getStyle( $context ) ) !== '' ) { - if ( $context->getFlip() ) { + if ( self::$modules[$name]->getFlip( $context ) ) { $styles = self::filter( 'flip-css', $styles ); } $styles = $context->getDebug() ? $styles : self::filter( 'minify-css', $styles ); diff --git a/includes/ResourceLoaderContext.php b/includes/ResourceLoaderContext.php index 5518023a47..c6a277fc26 100644 --- a/includes/ResourceLoaderContext.php +++ b/includes/ResourceLoaderContext.php @@ -31,7 +31,6 @@ class ResourceLoaderContext { protected $modules; protected $language; protected $direction; - protected $flip; protected $skin; protected $debug; protected $only; @@ -40,7 +39,7 @@ class ResourceLoaderContext { /* Methods */ public function __construct( WebRequest $request, $server ) { - global $wgUser, $wgLang, $wgContLang, $wgDefaultSkin; + global $wgUser, $wgLang, $wgDefaultSkin; $this->request = $request; $this->server = $server; @@ -61,8 +60,6 @@ class ResourceLoaderContext { if ( !$this->skin ) { $this->skin = $wgDefaultSkin; } - // Evaluate flip - $this->flip = $wgContLang->getDir() !== $this->direction; } public function getRequest() { @@ -85,10 +82,6 @@ class ResourceLoaderContext { return $this->direction; } - public function getFlip() { - return $this->flip; - } - public function getSkin() { return $this->skin; } diff --git a/includes/ResourceLoaderModule.php b/includes/ResourceLoaderModule.php index 874c01773d..b0b509d781 100644 --- a/includes/ResourceLoaderModule.php +++ b/includes/ResourceLoaderModule.php @@ -69,6 +69,15 @@ abstract class ResourceLoaderModule { global $wgResourceLoaderServerMaxage; return $wgResourceLoaderServerMaxage; } + + /** + * Get whether CSS for this module should be flipped + */ + public function getFlip( $context ) { + return $context->getDirection() === 'rtl'; + } + + /* Abstract Methods */ /** * Get all JS for this module for a given language and skin. @@ -423,7 +432,7 @@ class ResourceLoaderFileModule extends ResourceLoaderModule { $this->modifiedTime[$context->getHash()] = max( $filesMtime, $msgBlobMtime ); return $this->modifiedTime[$context->getHash()]; } - + /* Protected Members */ /** @@ -689,6 +698,10 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { } public function getStyle( ResourceLoaderContext $context ) { return ''; } + public function getFlip( $context ) { + global $wgContLang; + return $wgContLang->getDir() !== $context->getDirection(); + } public function getMessages() { return array(); } public function getLoaderScript() { return ''; } public function getDependencies() { return array(); } -- 2.20.1