http://www.mediawiki.org/wiki/Special:Code/MediaWiki/72777

Revision: 72777
Author:   tparscal
Date:     2010-09-11 08:03:11 +0000 (Sat, 11 Sep 2010)

Log Message:
-----------
Added versions to statically added ResourceLoader script and style tags.

Modified Paths:
--------------
    trunk/phase3/includes/OutputPage.php
    trunk/phase3/includes/ResourceLoader.php
    trunk/phase3/includes/ResourceLoaderContext.php

Modified: trunk/phase3/includes/OutputPage.php
===================================================================
--- trunk/phase3/includes/OutputPage.php        2010-09-11 07:33:16 UTC (rev 
72776)
+++ trunk/phase3/includes/OutputPage.php        2010-09-11 08:03:11 UTC (rev 
72777)
@@ -2286,13 +2286,13 @@
                // TODO: Divide off modules starting with "user", and add the 
user parameter to them
                $query = array(
                        'lang' => $wgLang->getCode(),
-                       'debug' => $wgRequest->getBool( 'debug' ) && 
$wgRequest->getVal( 'debug' ) !== 'false',
+                       'debug' => ( $wgRequest->getBool( 'debug' ) && 
$wgRequest->getVal( 'debug' ) == 'true' ) ? 'true' : 'false',
                        'skin' => $wgUser->getSkin()->getSkinName(),
                        'only' => $only,
                );
                $moduleGroups = array( null => array(), 'user' => array() );
-               foreach ( (array) $modules as $module ) {
-                       $moduleGroups[strpos( $module, 'user' ) === 0 ? 'user' 
: null][] = $module;
+               foreach ( (array) $modules as $name ) {
+                       $moduleGroups[strpos( $name, 'user' ) === 0 ? 'user' : 
null][] = $name;
                }
                $links = '';
                foreach ( $moduleGroups as $group => $modules ) {
@@ -2301,6 +2301,16 @@
                                if ( $group === 'user' ) {
                                        $query['user'] = $wgUser->getName();
                                }
+                               $context = new ResourceLoaderContext( new 
FauxRequest( $query ) );
+                               $timestamp = 0;
+                               foreach ( $modules as $name ) {
+                                       if ( $module = 
ResourceLoader::getModule( $name ) ) {
+                                               $timestamp = max( $timestamp, 
$module->getModifiedTime( $context ) );
+                                       }
+                               }
+                               $query['version'] = wfTimestamp( TS_ISO_8601, 
round( $timestamp, -2 ) );
+                               // Make queries uniform in order
+                               ksort( $query );
                                // Automatically select style/script elements
                                if ( $only === 'styles' ) {
                                        $links .= Html::linkedStyle( 
wfAppendQuery( $wgLoadScript, $query ) );

Modified: trunk/phase3/includes/ResourceLoader.php
===================================================================
--- trunk/phase3/includes/ResourceLoader.php    2010-09-11 07:33:16 UTC (rev 
72776)
+++ trunk/phase3/includes/ResourceLoader.php    2010-09-11 08:03:11 UTC (rev 
72777)
@@ -338,7 +338,7 @@
                        }
 
                        $statuses = FormatJson::encode( $statuses );
-                       echo "mediaWiki.loader.state( $statuses );";
+                       echo "mediaWiki.loader.state( $statuses );\n";
                }
 
                // Register missing modules

Modified: trunk/phase3/includes/ResourceLoaderContext.php
===================================================================
--- trunk/phase3/includes/ResourceLoaderContext.php     2010-09-11 07:33:16 UTC 
(rev 72776)
+++ trunk/phase3/includes/ResourceLoaderContext.php     2010-09-11 08:03:11 UTC 
(rev 72777)
@@ -26,7 +26,6 @@
        /* Protected Members */
 
        protected $request;
-       protected $server;
        protected $modules;
        protected $language;
        protected $direction;
@@ -64,7 +63,7 @@
                        $this->skin = $wgDefaultSkin;
                }
        }
-
+       
        public function getRequest() {
                return $this->request;
        }
@@ -114,4 +113,4 @@
                        $this->hash : $this->hash =
                                implode( '|', array( $this->language, 
$this->skin, $this->user, $this->debug, $this->only ) );
        }
-}
+}
\ No newline at end of file



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to