mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-12-18 09:10:59 +00:00
dc842277c7
Following the MediaWiki changes from T301203, we should use the messages 'skin-view-edit' and 'skin-view-create' instead of 'edit' and 'create'. (Also remove redundant definitions in extension.json, we load all messages listed in 'VisualEditorTabMessages'.) Bug: T310529 Change-Id: If055fa2a4dc009be869425e6c2262c9b62056179
57 lines
1.7 KiB
PHP
57 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* ResourceLoader module for the 'ext.visualEditor.desktopArticleTarget.init'
|
|
* module. Necessary to incorporate the VisualEditorTabMessages
|
|
* configuration setting.
|
|
*
|
|
* @file
|
|
* @ingroup Extensions
|
|
* @copyright 2011-2020 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license MIT
|
|
*/
|
|
|
|
namespace MediaWiki\Extension\VisualEditor;
|
|
|
|
use MediaWiki\MediaWikiServices;
|
|
use MediaWiki\ResourceLoader\FileModule;
|
|
|
|
class VisualEditorDesktopArticleTargetInitModule extends FileModule {
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function getMessages() {
|
|
$messages = parent::getMessages();
|
|
$services = MediaWikiServices::getInstance();
|
|
|
|
$veConfig = $services->getConfigFactory()->makeConfig( 'visualeditor' );
|
|
$messages = array_merge(
|
|
$messages,
|
|
array_filter( $veConfig->get( 'VisualEditorTabMessages' ) )
|
|
);
|
|
|
|
// Some skins don't use the default 'edit' and 'create' message keys.
|
|
// Check the localisation cache for which skins have a custom message for this.
|
|
// We only need this for the current skin, but ResourceLoader's message cache
|
|
// does not fragment by skin.
|
|
foreach ( [ 'edit', 'create' ] as $msgKey ) {
|
|
// MediaWiki defaults
|
|
$messages[] = "skin-view-$msgKey";
|
|
foreach ( $services->getSkinFactory()->getSkinNames() as $skname => $unused ) {
|
|
// Per-skin overrides
|
|
// Messages: vector-view-edit, vector-view-create
|
|
// Disable database lookups for site-level message overrides as they
|
|
// are expensive and not needed here (T221294). We only care whether the
|
|
// message key is known to localisation cache at all.
|
|
$msg = wfMessage( "$skname-view-$msgKey" )->useDatabase( false )->inContentLanguage();
|
|
if ( $msg->exists() ) {
|
|
$messages[] = "$skname-view-$msgKey";
|
|
}
|
|
}
|
|
}
|
|
|
|
return $messages;
|
|
}
|
|
|
|
}
|