Don't pass false as a wikiId to invalidateModuleCache()
authordaniel <daniel.kinzler@wikimedia.de>
Fri, 3 Aug 2018 12:47:29 +0000 (14:47 +0200)
committerdaniel <daniel.kinzler@wikimedia.de>
Fri, 3 Aug 2018 12:47:29 +0000 (14:47 +0200)
Using false to represent the local wiki is supported in many places in core,
but not in invalidateModuleCache

Bug: T199416
Change-Id: I5cb93c173295261bf5fcf6c77c197a80c4aac1a2

includes/Storage/DerivedPageDataUpdater.php
includes/resourceloader/ResourceLoaderWikiModule.php

index 6f241ba..e353ab6 100644 (file)
@@ -1533,7 +1533,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
 
                // TODO: In the wiring, register a listener for this on the new PageEventEmitter
                ResourceLoaderWikiModule::invalidateModuleCache(
-                       $title, $oldLegacyRevision, $legacyRevision, $this->getWikiId()
+                       $title, $oldLegacyRevision, $legacyRevision, $this->getWikiId() ?: wfWikiID()
                );
 
                $this->doTransition( 'done' );
index b699b36..fe77576 100644 (file)
@@ -23,6 +23,7 @@
  */
 
 use MediaWiki\Linker\LinkTarget;
+use Wikimedia\Assert\Assert;
 use Wikimedia\Rdbms\Database;
 use Wikimedia\Rdbms\IDatabase;
 
@@ -535,6 +536,8 @@ class ResourceLoaderWikiModule extends ResourceLoaderModule {
        ) {
                static $formats = [ CONTENT_FORMAT_CSS, CONTENT_FORMAT_JAVASCRIPT ];
 
+               Assert::parameterType( 'string', $wikiId, '$wikiId' );
+
                // TODO: MCR: differentiate between page functionality and content model!
                //       Not all pages containing CSS or JS have to be modules! [PageType]
                if ( $old && in_array( $old->getContentFormat(), $formats ) ) {