40 行
991 B
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;
|
|
}
|
|
}
|