【原创】DiscuzX3增加判断邮箱地址决定是否需要填写邀请码——邀请码+邮箱双重认证

转载请说明出处。

经过一下午的研究,终于完成了这个功能,分享给大家

具体功能如下:

根据邮箱的地址来决定是否需要填写邀请码,如:用户如果有edu的邮箱,则不需要填写邀请码可以注册,否则需要则要填写邀请码。

修改方法:

1./template/default/member/register.htm

在100行附近,也就是

<input type="hidden" name="regsubmit" value="yes" />

<input type="hidden" name="formhash" value="{FORMHASH}" />

<input type="hidden" name="referer" value="$dreferer" />

增加代码:

<input type="hidden" name="emailedu" id="emailedu" value="0" />

2./source/class/class_member.php

找到:

if($this->setting['regstatus'] == 2 && empty($invite) && !$invitestatus && $emailedu == 0) {

showmessage('not_open_registration_invite');

}

在上面增加

$emailedu = $_GET['emailedu'];

 

3. /static/js/register.js

找到:

if(email.match(/<|"/ig)) {
errormessage(id, 'Email 包含敏感字符');
return;
}

在下面增加

else if(email.match(/\@(([a-zA-Z0-9\-])+\.edu)/g)) {
$('tip_invitecode').parentNode.className = $('tip_invitecode').parentNode.className.replace(/ p_right/, '');
errormessage('invitecode','succeed');
document.getElementById("emailedu").value='1';
}

大功告成!具体小细节的修改就自己来吧!

邮件订阅,随时获取更新信息

发表评论

电子邮件地址不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.