Merge "Fixed dependencies for jquery.collapsibleTabs"
[lhc/web/wiklou.git] / includes / resourceloader / ResourceLoaderStartUpModule.php
index c86ed1d..1d36911 100644 (file)
@@ -37,8 +37,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        protected function getConfig( $context ) {
                global $wgLoadScript, $wgScript, $wgStylePath, $wgScriptExtension,
                        $wgArticlePath, $wgScriptPath, $wgServer, $wgContLang,
-                       $wgVariantArticlePath, $wgActionPaths, $wgUseAjax, $wgVersion,
-                       $wgEnableAPI, $wgEnableWriteAPI, $wgDBname, $wgEnableMWSuggest,
+                       $wgVariantArticlePath, $wgActionPaths, $wgVersion,
+                       $wgEnableAPI, $wgEnableWriteAPI, $wgDBname,
                        $wgSitename, $wgFileExtensions, $wgExtensionAssetsPath,
                        $wgCookiePrefix, $wgResourceLoaderMaxQueryLength;
 
@@ -95,9 +95,6 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                        'wgResourceLoaderMaxQueryLength' => $wgResourceLoaderMaxQueryLength,
                        'wgCaseSensitiveNamespaces' => $caseSensitiveNamespaces,
                );
-               if ( $wgUseAjax && $wgEnableMWSuggest ) {
-                       $vars['wgMWSuggestTemplate'] = SearchEngine::getMWSuggestTemplate();
-               }
 
                wfRunHooks( 'ResourceLoaderGetConfigVars', array( &$vars ) );
 
@@ -117,6 +114,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                $out = '';
                $registrations = array();
                $resourceLoader = $context->getResourceLoader();
+               $target = $context->getRequest()->getVal( 'target', 'desktop' );
 
                // Register sources
                $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
@@ -124,6 +122,10 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                // Register modules
                foreach ( $resourceLoader->getModuleNames() as $name ) {
                        $module = $resourceLoader->getModule( $name );
+                       $moduleTargets = $module->getTargets();
+                       if ( !in_array( $target, $moduleTargets ) ) {
+                               continue;
+                       }
                        $deps = $module->getDependencies();
                        $group = $module->getGroup();
                        $source = $module->getSource();
@@ -133,33 +135,33 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                                $version = wfTimestamp( TS_ISO_8601_BASIC,
                                        $module->getModifiedTime( $context ) );
                                $out .= ResourceLoader::makeCustomLoaderScript( $name, $version, $deps, $group, $source, $loader );
+                               continue;
                        }
+
                        // Automatically register module
+                       // getModifiedTime() is supposed to return a UNIX timestamp, but it doesn't always
+                       // seem to do that, and custom implementations might forget. Coerce it to TS_UNIX
+                       $moduleMtime = wfTimestamp( TS_UNIX, $module->getModifiedTime( $context ) );
+                       $mtime = max( $moduleMtime, wfTimestamp( TS_UNIX, $wgCacheEpoch ) );
+                       // Modules without dependencies, a group or a foreign source pass two arguments (name, timestamp) to
+                       // mw.loader.register()
+                       if ( !count( $deps ) && $group === null && $source === 'local' ) {
+                               $registrations[] = array( $name, $mtime );
+                       }
+                       // Modules with dependencies but no group or foreign source pass three arguments
+                       // (name, timestamp, dependencies) to mw.loader.register()
+                       elseif ( $group === null && $source === 'local' ) {
+                               $registrations[] = array( $name, $mtime, $deps );
+                       }
+                       // Modules with a group but no foreign source pass four arguments (name, timestamp, dependencies, group)
+                       // to mw.loader.register()
+                       elseif ( $source === 'local' ) {
+                               $registrations[] = array( $name, $mtime, $deps, $group );
+                       }
+                       // Modules with a foreign source pass five arguments (name, timestamp, dependencies, group, source)
+                       // to mw.loader.register()
                        else {
-                               // getModifiedTime() is supposed to return a UNIX timestamp, but it doesn't always
-                               // seem to do that, and custom implementations might forget. Coerce it to TS_UNIX
-                               $moduleMtime = wfTimestamp( TS_UNIX, $module->getModifiedTime( $context ) );
-                               $mtime = max( $moduleMtime, wfTimestamp( TS_UNIX, $wgCacheEpoch ) );
-                               // Modules without dependencies, a group or a foreign source pass two arguments (name, timestamp) to
-                               // mw.loader.register()
-                               if ( !count( $deps ) && $group === null && $source === 'local' ) {
-                                       $registrations[] = array( $name, $mtime );
-                               }
-                               // Modules with dependencies but no group or foreign source pass three arguments
-                               // (name, timestamp, dependencies) to mw.loader.register()
-                               elseif ( $group === null && $source === 'local' ) {
-                                       $registrations[] = array( $name, $mtime, $deps );
-                               }
-                               // Modules with a group but no foreign source pass four arguments (name, timestamp, dependencies, group)
-                               // to mw.loader.register()
-                               elseif ( $source === 'local' ) {
-                                       $registrations[] = array( $name, $mtime, $deps, $group );
-                               }
-                               // Modules with a foreign source pass five arguments (name, timestamp, dependencies, group, source)
-                               // to mw.loader.register()
-                               else {
-                                       $registrations[] = array( $name, $mtime, $deps, $group, $source );
-                               }
+                               $registrations[] = array( $name, $mtime, $deps, $group, $source );
                        }
                }
                $out .= ResourceLoader::makeLoaderRegisterScript( $registrations );