mediawiki-extensions-RNRSHook/src/PreferencesHook.php

40 行
991 B
PHP

<?php
namespace MediaWiki\Extension\RNRSHook;
use MediaWiki\Preferences\Hook\GetPreferencesHook;
use OOUI\ButtonWidget;
use OOUI\HorizontalLayout;
use User;
class PreferencesHook implements GetPreferencesHook
{
/**
* @param User $user
* @param array &$preferences
*
* @return bool
*/
public function onGetPreferences($user, &$preferences)
{
$manageButton = new ButtonWidget([
'href' => wfMessage('rnrshook-url')->text(),
'label' => wfMessage('rnrshook-ui-manage')->text()
]);
$control = new HorizontalLayout([
'items' => [$manageButton]
]);
$preferences['rnrshook-module'] = [
'type' => 'info',
'raw' => true,
'default' => (string)$control,
'label-message' => 'rnrshook-prefs-label',
'help-message' => 'rnrshook-prefs-label-desc',
'section' => 'personal/info',
];
return true;
}
}