[MT Hack]MT Forum 注册绕过Email 确认

This is a SiteLog for Easun.org.

MT Forum 的注册机制是用户注册后帐户进入 Pending 状态,然后给用户刚才填写的Email发一份邮件,点 邮件 里面的连接才可以激活。

这个是个很好的功能,但是有时候偏偏想去掉这个功能。

懒得的写 插件 ,就直接 Hack吧。

简单分析: MT Forum 注册调用的函数是 addons/Community.pack/lib/MT/App/Community.pm 里面的 do_register {} 这个函数写入数据库是 create_user_pending {} 。

要简单修改 create_user_pending 函数里面的默认数值就好。

create_user_pending 函数 在 lib/MT/App.pm 中。 定位:
    $user->type( MT::Author::AUTHOR() );
    $user->status( MT::Author::PENDING() );
    $user->auth_type( $app->config->AuthenticationModule );


把加粗的部分 修改成
$user->status( MT::Author::ACTIVE() );
或者干脆一点硬编码:
$user->status( 1 );
再次测试一切OK ,当然你也可以顺便去掉发 确认邮件 的代码, 具体位置是 addons/Community.pack/lib/MT/App/Community.pm 中的 sub _send_signup_confirmation {},用空函数代替即可。


PS: 久不更新网站和研究 MT ,貌似 4.25 也出来了。也许该更新下系统了。呵呵