This class provides access to the resource message blobs storage used by the ResourceLoader. More...
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. |
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.
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.
$module | ResourceLoaderModule object | |
$lang | String: language code |
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.
$resourceLoader | ResourceLoader object | |
$modules | array Array of module objects keyed by module name | |
$lang | string Language code |
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.
$resourceLoader | ResourceLoader object | |
$modules | Array of module names | |
$lang | String: language code |
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().
$key | String: message key | |
$prevUpdates | Array: updates queue to refresh or null to build a fresh update 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.
$name | String: module name | |
$module | ResourceLoaderModule object | |
$lang | String: language code |
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.
$blob | String: message blob (JSON object) | |
$key | String: message key | |
$lang | String: language code |
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.
$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.
$name | String: module name | |
$module | ResourceLoaderModule object | |
$lang | String: language code |
Definition at line 130 of file MessageBlobStore.php.
References FormatJson::decode(), generateMessageBlob(), and wfGetDB().
Referenced by getFromDB().