<?php
/**
- * Resource message blobs storage used by the resource loader.
+ * Resource message blobs storage used by ResourceLoader.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*/
/**
- * This class provides access to the resource message blobs storage used by
- * the ResourceLoader.
+ * This class provides access to the resource message blobs storage used
+ * by ResourceLoader.
*
* A message blob is a JSON object containing the interface messages for a
* certain resource in a certain language. These message blobs are cached
* @param string $name Module name
* @param ResourceLoaderModule $module
* @param string $lang Language code
- * @return string Regenerated message blob, or null if there was no blob for
+ * @return string|null Regenerated message blob, or null if there was no blob for
* the given module/language pair.
*/
public function updateModule( $name, ResourceLoaderModule $module, $lang ) {
return array();
}
- $config = $resourceLoader->getConfig();
$retval = array();
$dbr = wfGetDB( DB_SLAVE );
$res = $dbr->select( 'msg_resource',
throw new MWException( __METHOD__ . ' passed an invalid module name' );
}
- // Update the module's blobs if the set of messages changed or if the blob is
- // older than the CacheEpoch setting
- $keys = array_keys( FormatJson::decode( $row->mr_blob, true ) );
- $values = array_values( array_unique( $module->getMessages() ) );
- if ( $keys !== $values
- || wfTimestamp( TS_MW, $row->mr_timestamp ) <= $config->get( 'CacheEpoch' )
- ) {
+ // Update the module's blob if the list of messages changed
+ $blobKeys = array_keys( FormatJson::decode( $row->mr_blob, true ) );
+ $moduleMsgs = array_values( array_unique( $module->getMessages() ) );
+ if ( $blobKeys !== $moduleMsgs ) {
$retval[$row->mr_resource] = $this->updateModule( $row->mr_resource, $module, $lang );
} else {
$retval[$row->mr_resource] = $row->mr_blob;