Авторизация через XenForo в MediaWiki

тут часть про плагин mediawiki и [bd] api XenForo

Делаем так, чтобы зайти на вики можно было только через xenforo-аккаунты:
1) Убрать «создать аккаунт» сверху:
mediawiki/includes/skins/SkinTemplate.php

убрать

$personal_urls['createaccount'] = $createaccount_url;

2) Изменить ссылку «создать аккаунт» со страницы логина:
mediawiki/includes/specialpage/LoginSignupSpecialPage.php

заменить

'href' => $linkTitle->getLocalURL( $params['linkQuery'] ),

на

'href' => 'https://example-xenforo.ru/login/login', (страничка регистрации своего форума)

a

'href' => Skin::makeInternalOrExternalUrl( wfMessage( 'helplogin-url' ) ->inContentLanguage()
->text() ),

на

'href' => 'https://example-xenforo.ru/help/', (хелп своего форума)

3) Заблокировать поля логин и пароль:
mediawiki/includes/specialpage/LoginSignupSpecialPage.php

В каждое из полей

$fieldDefinitions['username'] += [
'type' => 'text',
'name' => 'wpName',
'cssclass' => 'loginText',
'size' => 20,
'disabled' => true,
// 'required' => true,
];
$fieldDefinitions['password'] += [
'type' => 'password',
'label-message' => 'userlogin-yourpassword',
'name' => 'wpPassword', 'cssclass' => 'loginPassword',
'size' => 20,
// 'required' => true,
];

добавляем свойство

'disabled' => true,

4) Убираем кнопку «войти», оставляя только «Log in with XenForo»:
mediawiki/includes/specialpage/LoginSignupSpecialPage.php

убрать

'loginattempt' => [
// submit button
'type' => 'submit',
'default' => $this->msg( 'pt-login-' . $continuePart . 'button' )->text(),
'id' => 'wpLoginAttempt',
'weight' => 100,
],

Получаем:
XenForo_Mediawiki_Autorization

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *