// 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 ) {
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 ) );
/* Protected Members */
protected $request;
- protected $server;
protected $modules;
protected $language;
protected $direction;
$this->skin = $wgDefaultSkin;
}
}
-
+
public function getRequest() {
return $this->request;
}
$this->hash : $this->hash =
implode( '|', array( $this->language, $this->skin, $this->user, $this->debug, $this->only ) );
}
-}
+}
\ No newline at end of file