From 41518a86b781ac70542c1ccd9f823b17ea1a07a1 Mon Sep 17 00:00:00 2001 From: Roan Kattouw Date: Thu, 13 Jan 2011 14:42:19 +0000 Subject: [PATCH] Coerce mtimes to TS_UNIX before outputting them, and fix a wrong timestamp format in ResourceLoaderUserModule. This should fix bug 26704 --- includes/resourceloader/ResourceLoaderStartUpModule.php | 5 ++++- includes/resourceloader/ResourceLoaderUserOptionsModule.php | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index 3f1f235527..bf998e59ae 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -116,7 +116,10 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { } // Automatically register module else { - $mtime = max( $module->getModifiedTime( $context ), wfTimestamp( TS_UNIX, $wgCacheEpoch ) ); + // 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 or a group pass two arguments (name, timestamp) to // mediaWiki.loader.register() if ( !count( $module->getDependencies() && $module->getGroup() === null ) ) { diff --git a/includes/resourceloader/ResourceLoaderUserOptionsModule.php b/includes/resourceloader/ResourceLoaderUserOptionsModule.php index 82563dc4fd..1a9a2ca011 100644 --- a/includes/resourceloader/ResourceLoaderUserOptionsModule.php +++ b/includes/resourceloader/ResourceLoaderUserOptionsModule.php @@ -40,7 +40,7 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule { global $wgUser; if ( $context->getUser() === $wgUser->getName() ) { - return $this->modifiedTime[$hash] = $wgUser->getTouched(); + return $this->modifiedTime[$hash] = wfTimestamp( TS_UNIX, $wgUser->getTouched() ); } else { return 1; } -- 2.20.1