wangsisi 发表于 2011-12-9 11:25:25

MediaWiki插件ConfirmAccount的安装和中文化问题

ConfirmAccount是MediaWiki非常重要的一个插件,它可以实现MediaWiki账号的申请和审核。下载地址是http://upload.wikimedia.org/ext-dist/ConfirmAccount-MW1.15-r52640.tar.gz(针对MediaWiki 1.15.x版本)。

安装:
1、下载解压为ConfirmAccount文件夹,放在MediaWiki程序的extensions目录下,确认ConfirmAccount文件夹可读;

2、编辑MediaWiki配置文件LocalSettings.php,加入此行:“
require_once("$IP/extensions/ConfirmAccount/ConfirmAccount.php");
”可加在“require_once( "$IP/includes/DefaultSettings.php" );”这一行后面;

3、创建ConfirmAccoun所需要的数据表,官方的说法是:Run maintenance/update.php (run ConfirmAccount.sql if not possible, substituting db prefix and options),我是直接拷贝了ConfirmAccount.sql的内容在phpMyadmin的MediaWiki数据库里面运行了一下;

4、登录你的linux服务器,进入MediaWiki程序所在的目录,进入maintenance目录下,运行“
php update.php
”,如果运行不通过,可根据提示修改配置文件选项或文件夹权限设置等,我运行的时候总是报发送邮件设置未开启(这个是ConfirmAccount必须的),但我确实是开启了的,所以干脆在ConfirmAccount.php中注释了相关的判断(20行到23行:“
/*if( !$wgEnableEmail ) {
        echo "ConfirmAccount extension requires \$wgEnableEmail set to true \n";
        exit( 1 ) ;
}*/
”),然后运行通过了。

5、这样,ConfirmAccount就安装完成了。你可以在未登录状态下看到登录页面增加了一行提示:“要获得一个账户,您需要发送一个请求。”

中文化问题:
1、ConfirmAccount是有中文语言支持的,在ConfirmAccount.i18n.php这个文件里面,不过翻译的相当难受,很显然不是在中文环境中生活过的人翻译的,最好是自己斟酌字句进行修改;

2、ConfirmAccount在MediaWiki程序的数据库中创建的两个表“account_credentials”和“account_requests”的默认编码跟你安装的MediaWiki程序中文版是不同的,这样在你申请提交中文名字的用户时会报数据库编码错误,你可以在phpMyadmin中批量修改这两个表中所有字段的编码设置,将它们的“整理”选择为“binary”,这样就跟MediaWiki中其他数据表编码一致了。我想之所以会这样,可能跟我安装时的第3点有关;

3、请求创建账户时,在“个人简介”栏中如果输入中文字符,程序会一直提示最少需要输入50个字符,即使你已经输入了超过50个字符,据说这是因为ConfirmAccount插件对于中文字串的长度检查有问题,在一个目前已经打不开的博客中看到的解决办法是注释掉ConfirmAccount对个人简介字符长度的判断,编辑RequestAccount_body.php,注释掉286到289这四行:“
/*if( str_word_count($this->mBio) < $wgAccountRequestMinWords ) {
        $this->showForm( wfMsgHtml('requestaccount-tooshort',$wgAccountRequestMinWords) );
        return;
}*/
”即可。

使用ConfirmAccount必须你的MediaWiki发送邮件是正常的,你可以用管理员登陆后在“所有特殊页面”中找到确认账户请求的选项。
页: [1]
查看完整版本: MediaWiki插件ConfirmAccount的安装和中文化问题

BlueHost美国主机优惠码