Better solution for r72367, this allows file modules to always be written in ltr...
authorTrevor Parscal <tparscal@users.mediawiki.org>
Sat, 4 Sep 2010 10:53:57 +0000 (10:53 +0000)
committerTrevor Parscal <tparscal@users.mediawiki.org>
Sat, 4 Sep 2010 10:53:57 +0000 (10:53 +0000)
includes/ResourceLoader.php
includes/ResourceLoaderContext.php
includes/ResourceLoaderModule.php

index 4b208ce..f79114a 100644 (file)
@@ -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 );
index 5518023..c6a277f 100644 (file)
@@ -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;
        }
index 874c017..b0b509d 100644 (file)
@@ -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(); }