今日は私の誕生日だというのに誰もプレゼントをくれる人がいなかったので、昨晩見つけた AuthWordpress.php を MediaWiki 1.11 に対応させて自分へのプレゼントにしました(涙)。
allowPasswordChange っつうメソッドを追加したら上手くいった。こんなん。
function allowPasswordChange()
{
return false;
}
追加したバージョンを AuthWordpress.php に置きました。
インストール方法
まず AuthWordpress.php を Mediawiki の extensions/ ディレクトリに置きます。次に MediaWiki の LocalSettnigs.php にこんな感じなやつを付け足します。
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createaccount'] = false;
require_once( 'extensions/AuthWordpress.php' );
$wgAuth = new AuthWordpress();
$wgAuth->setAuthWordpressTablePrefix('WordPressのTablePrefix');
$wgAuth->setAuthWordpressDBServer ('MySQLのホスト名');
$wgAuth->setAuthWordpressDBName('MySQLのDB名');
$wgAuth->setAuthWordpressUser('MySQLのユーザ名');
$wgAuth->setAuthWordpressPassword('MySQLのパスワード');
最後の5行は自分の WordPress の設定に合わせて書き換えてください。
仕様
コードを読む限りこんな仕様だと思われる。なんか言うことが 考古学プログラマ っぽくなってきたな我ながら。
- MediaWiki にログインしようとすると、WordPress の DB を見に行ってアカウント/パスワードを照合します。
- 一度ログインに成功すると、MediaWiki 上にアカウントが作られます。WordPress 登録の名前とかは引き継がれないので、勝手に登録してください。
- パスワードは WordPress 側DBで一元管理されます。MediaWiki 上でパスワードを変更することはできません。WordPress 上でなら変更できます。
- パスワード以外の情報は MediaWiki 側で管理されます。
登録を別口にすれば Wikispam も減るんじゃないかと期待してたりもする。

