MessageBlobStore Class Reference

This class provides access to the resource message blobs storage used by the ResourceLoader. More...

List of all members.

Static Public Member Functions

static clear ()
static get (ResourceLoader $resourceLoader, $modules, $lang)
 Get the message blobs for a set of modules.
static insertMessageBlob ($name, ResourceLoaderModule $module, $lang)
 Generate and insert a new message blob.
static updateMessage ($key)
 Update a single message in all message blobs it occurs in.
static updateModule ($name, ResourceLoaderModule $module, $lang)
 Update the message blob for a given module in a given language.

Static Private Member Functions

static generateMessageBlob (ResourceLoaderModule $module, $lang)
 Generate the message blob for a given module in a given language.
static getFromDB (ResourceLoader $resourceLoader, $modules, $lang)
 Get the message blobs for a set of modules from the database.
static getUpdatesForMessage ($key, $prevUpdates=null)
 Create an update queue for updateMessage().
static reencodeBlob ($blob, $key, $lang)
 Reencode a message blob with the updated value for a message.

Detailed Description

This class provides access to the resource message blobs storage used by the 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 in the msg_resource table and automatically invalidated when one of their consistuent messages or the resource itself is changed.

Definition at line 34 of file MessageBlobStore.php.


Member Function Documentation

static MessageBlobStore::clear (  )  [static]

Definition at line 233 of file MessageBlobStore.php.

References wfGetDB().

static MessageBlobStore::generateMessageBlob ( ResourceLoaderModule module,
lang 
) [static, private]

Generate the message blob for a given module in a given language.

Parameters:
$module ResourceLoaderModule object
$lang String: language code
Returns:
String: JSON object

Definition at line 352 of file MessageBlobStore.php.

References $messages, FormatJson::encode(), ResourceLoaderModule::getMessages(), and wfMessage().

Referenced by insertMessageBlob(), and updateModule().

static MessageBlobStore::get ( ResourceLoader resourceLoader,
modules,
lang 
) [static]

Get the message blobs for a set of modules.

Parameters:
$resourceLoader ResourceLoader object
$modules array Array of module objects keyed by module name
$lang string Language code
Returns:
array An array mapping module names to message blobs

Definition at line 44 of file MessageBlobStore.php.

References $blob, $resourceLoader, getFromDB(), insertMessageBlob(), wfProfileIn(), and wfProfileOut().

Referenced by ResourceLoader::makeModuleResponse().

static MessageBlobStore::getFromDB ( ResourceLoader resourceLoader,
modules,
lang 
) [static, private]

Get the message blobs for a set of modules from the database.

Modules whose blobs are not in the database are silently dropped.

Parameters:
$resourceLoader ResourceLoader object
$modules Array of module names
$lang String: language code
Returns:
array Array mapping module names to blobs

Definition at line 316 of file MessageBlobStore.php.

References $dbr, $res, FormatJson::decode(), ResourceLoader::getModule(), updateModule(), wfGetDB(), and wfTimestamp().

Referenced by get().

static MessageBlobStore::getUpdatesForMessage ( key,
prevUpdates = null 
) [static, private]

Create an update queue for updateMessage().

Parameters:
$key String: message key
$prevUpdates Array: updates queue to refresh or null to build a fresh update queue
Returns:
Array: updates queue

Definition at line 248 of file MessageBlobStore.php.

References $res, and wfGetDB().

Referenced by updateMessage().

static MessageBlobStore::insertMessageBlob ( name,
ResourceLoaderModule module,
lang 
) [static]

Generate and insert a new message blob.

If the blob was already present, it is not regenerated; instead, the preexisting blob is fetched and returned.

Parameters:
$name String: module name
$module ResourceLoaderModule object
$lang String: language code
Returns:
mixed Message blob or false if the module has no messages

Definition at line 76 of file MessageBlobStore.php.

References $blob, $success, generateMessageBlob(), ResourceLoaderModule::getMessages(), and wfGetDB().

Referenced by get().

static MessageBlobStore::reencodeBlob ( blob,
key,
lang 
) [static, private]

Reencode a message blob with the updated value for a message.

Parameters:
$blob String: message blob (JSON object)
$key String: message key
$lang String: language code
Returns:
Message blob with $key replaced with its new value

Definition at line 300 of file MessageBlobStore.php.

References $blob, FormatJson::decode(), FormatJson::encode(), and wfMessage().

static MessageBlobStore::updateMessage ( key  )  [static]

Update a single message in all message blobs it occurs in.

Parameters:
$key String: message key

Definition at line 194 of file MessageBlobStore.php.

References $success, getUpdatesForMessage(), and wfGetDB().

static MessageBlobStore::updateModule ( name,
ResourceLoaderModule module,
lang 
) [static]

Update the message blob for a given module in a given language.

Parameters:
$name String: module name
$module ResourceLoaderModule object
$lang String: language code
Returns:
String Regenerated message blob, or null if there was no blob for the given module/language pair

Definition at line 130 of file MessageBlobStore.php.

References FormatJson::decode(), generateMessageBlob(), and wfGetDB().

Referenced by getFromDB().


The documentation for this class was generated from the following file:
Generated on Tue Sep 18 00:01:23 2012 for MediaWiki by  doxygen 1.6.3