Replace deprecated Hooks::run

Bug: T335536
Change-Id: Ifc18d80c15f714d58aef33c9991079db9406a19e
This commit is contained in:
Umherirrender 2023-04-27 22:27:56 +02:00
parent 2bee4c4f57
commit 10dddec75b
2 changed files with 13 additions and 5 deletions

View file

@ -24,7 +24,8 @@
"CodeEditorHooks": { "CodeEditorHooks": {
"class": "MediaWiki\\Extension\\CodeEditor\\Hooks", "class": "MediaWiki\\Extension\\CodeEditor\\Hooks",
"services": [ "services": [
"UserOptionsLookup" "UserOptionsLookup",
"HookContainer"
] ]
} }
}, },

View file

@ -7,6 +7,7 @@ use ErrorPageError;
use ExtensionRegistry; use ExtensionRegistry;
use MediaWiki\Hook\EditPage__showEditForm_initialHook; use MediaWiki\Hook\EditPage__showEditForm_initialHook;
use MediaWiki\Hook\EditPage__showReadOnlyForm_initialHook; use MediaWiki\Hook\EditPage__showReadOnlyForm_initialHook;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Preferences\Hook\GetPreferencesHook; use MediaWiki\Preferences\Hook\GetPreferencesHook;
use MediaWiki\User\UserOptionsLookup; use MediaWiki\User\UserOptionsLookup;
use OutputPage; use OutputPage;
@ -24,13 +25,19 @@ class Hooks implements
/** @var UserOptionsLookup */ /** @var UserOptionsLookup */
private $userOptionsLookup; private $userOptionsLookup;
/** @var HookContainer */
private $hookContainer;
/** /**
* @param UserOptionsLookup $userOptionsLookup * @param UserOptionsLookup $userOptionsLookup
* @param HookContainer $hookContainer
*/ */
public function __construct( public function __construct(
UserOptionsLookup $userOptionsLookup UserOptionsLookup $userOptionsLookup,
HookContainer $hookContainer
) { ) {
$this->userOptionsLookup = $userOptionsLookup; $this->userOptionsLookup = $userOptionsLookup;
$this->hookContainer = $hookContainer;
} }
/** /**
@ -39,7 +46,7 @@ class Hooks implements
* @param string $format * @param string $format
* @return null|string * @return null|string
*/ */
public static function getPageLanguage( Title $title, $model, $format ) { public function getPageLanguage( Title $title, $model, $format ) {
if ( $model === CONTENT_MODEL_JAVASCRIPT ) { if ( $model === CONTENT_MODEL_JAVASCRIPT ) {
return 'javascript'; return 'javascript';
} elseif ( $model === CONTENT_MODEL_CSS ) { } elseif ( $model === CONTENT_MODEL_CSS ) {
@ -51,7 +58,7 @@ class Hooks implements
// Give extensions a chance // Give extensions a chance
// Note: $model and $format were added around the time of MediaWiki 1.28. // Note: $model and $format were added around the time of MediaWiki 1.28.
$lang = null; $lang = null;
\Hooks::run( 'CodeEditorGetPageLanguage', [ $title, &$lang, $model, $format ] ); $this->hookContainer->run( 'CodeEditorGetPageLanguage', [ $title, &$lang, $model, $format ] );
return $lang; return $lang;
} }
@ -77,7 +84,7 @@ class Hooks implements
$model = $editpage->contentModel; $model = $editpage->contentModel;
$format = $editpage->contentFormat; $format = $editpage->contentFormat;
$lang = self::getPageLanguage( $title, $model, $format ); $lang = $this->getPageLanguage( $title, $model, $format );
if ( $lang && $this->userOptionsLookup->getOption( $output->getUser(), 'usebetatoolbar' ) ) { if ( $lang && $this->userOptionsLookup->getOption( $output->getUser(), 'usebetatoolbar' ) ) {
$output->addModules( 'ext.codeEditor' ); $output->addModules( 'ext.codeEditor' );
$output->addJsConfigVars( 'wgCodeEditorCurrentLanguage', $lang ); $output->addJsConfigVars( 'wgCodeEditorCurrentLanguage', $lang );