fix the call of count( $module->getDependencies() ) in startup (bracket

was wrong placed)

And by the way:
* store some result of getters in local variable and use it
* Title::newMainPage always returns an object
* rename a variable
* fix intendation for mw.loader.register call in debug mode

Change-Id: I083b4b61006493602b9345a822a96d538ef89f60
This commit is contained in:
umherirrender 2012-04-14 12:41:49 +02:00
parent 26eae98f7f
commit a88a09d98f

View file

@ -80,7 +80,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
'wgDefaultDateFormat' => $wgContLang->getDefaultDateFormat(),
'wgMonthNames' => $wgContLang->getMonthNamesArray(),
'wgMonthNamesShort' => $wgContLang->getMonthAbbreviationsArray(),
'wgMainPageTitle' => $mainPage ? $mainPage->getPrefixedText() : null,
'wgMainPageTitle' => $mainPage->getPrefixedText(),
'wgFormattedNamespaces' => $wgContLang->getFormattedNamespaces(),
'wgNamespaceIds' => $namespaceIds,
'wgSiteName' => $wgSitename,
@ -125,12 +125,12 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
// Register modules
foreach ( $resourceLoader->getModuleNames() as $name ) {
$module = $resourceLoader->getModule( $name );
$deps = $module->getDependencies();
$group = $module->getGroup();
$source = $module->getSource();
// Support module loader scripts
$loader = $module->getLoaderScript();
if ( $loader !== false ) {
$deps = $module->getDependencies();
$group = $module->getGroup();
$source = $module->getSource();
$version = wfTimestamp( TS_ISO_8601_BASIC,
$module->getModifiedTime( $context ) );
$out .= ResourceLoader::makeCustomLoaderScript( $name, $version, $deps, $group, $source, $loader );
@ -143,26 +143,23 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
$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( $module->getDependencies() && $module->getGroup() === null && $module->getSource() === 'local' ) ) {
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 ( $module->getGroup() === null && $module->getSource() === 'local' ) {
$registrations[] = array(
$name, $mtime, $module->getDependencies() );
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 ( $module->getSource() === 'local' ) {
$registrations[] = array(
$name, $mtime, $module->getDependencies(), $module->getGroup() );
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, $module->getDependencies(), $module->getGroup(), $module->getSource() );
$registrations[] = array( $name, $mtime, $deps, $group, $source );
}
}
}
@ -185,19 +182,20 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
if ( $context->getOnly() === 'scripts' ) {
// The core modules:
$modules = array( 'jquery', 'mediawiki' );
wfRunHooks( 'ResourceLoaderGetStartupModules', array( &$modules ) );
$moduleNames = array( 'jquery', 'mediawiki' );
wfRunHooks( 'ResourceLoaderGetStartupModules', array( &$moduleNames ) );
// Get the latest version
$loader = $context->getResourceLoader();
$version = 0;
foreach ( $modules as $moduleName ) {
foreach ( $moduleNames as $moduleName ) {
$version = max( $version,
$context->getResourceLoader()->getModule( $moduleName )->getModifiedTime( $context )
$loader->getModule( $moduleName )->getModifiedTime( $context )
);
}
// Build load query for StartupModules
$query = array(
'modules' => ResourceLoader::makePackedModulesString( $modules ),
'modules' => ResourceLoader::makePackedModulesString( $moduleNames ),
'only' => 'scripts',
'lang' => $context->getLanguage(),
'skin' => $context->getSkin(),
@ -210,6 +208,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
// Startup function
$configuration = $this->getConfig( $context );
$registrations = self::getModuleRegistrations( $context );
$registrations = str_replace( "\n", "\n\t", trim( $registrations ) ); // fix indentation
$out .= "var startUp = function() {\n" .
"\tmw.config = new " . Xml::encodeJsCall( 'mw.Map', array( $wgLegacyJavaScriptGlobals ) ) . "\n" .
"\t$registrations\n" .