crx349 发表于 2016-5-3 17:20:53

Discuz! x3.2 关闭邮箱必填 选项

在x3.0 和 x3.1 版本時後台可以設置的,但 x3.2 版本後台又取消這個功能設置了。

1、第一步
source/admincp/admincp_setting.php 文件
查找showsetting('setting_access_register_send_register_url', 'settingnew', $setting['sendregisterurl'], 'radio');
在这个代码下添加:
showsetting('setting_access_register_forge_email', 'settingnew', $setting['forgeemail'], 'radio');
2、第二步
打開
source/language/lang_admincp.php 文件
查找:
'setting_access_register_send_register_url_comment' => '开启后系统会发一条注册的地址到用户的邮箱,从该地址链接过来的允许注册,同时建议UCenter中开启一个邮箱只允许注册一个帐户<br/>注意:只有在<a href="?action=setting&operation=mail">站长 - 邮件设置</a>中完成邮件设置,确保邮件能发送成功下可以开启该功能 ',

在下面添加:
'setting_access_register_forge_email' => '取消注册邮箱必填',
'setting_access_register_forge_email_comment' => '开启后如果用不不填写注册邮箱,将自动生成一个邮箱地址',
3、第三步:
修改
source/class/class_member.php 文件
$email = strtolower(trim($_GET['email']));
if(empty($this->setting['ignorepassword'])) {
if($_GET['password'] !== $_GET['password2']) {
showmessage('profile_passwd_notmatch');
}

if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {
showmessage('profile_passwd_illegal');
}
$password = $_GET['password'];
} else {
$password = md5(random(10));
}
}
修改为:
$email = strtolower(trim($_GET['email']));
if(empty($email) && $_G['setting']['forgeemail']) {
$_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST'];
}
if(empty($this->setting['ignorepassword'])) {
if($_GET['password'] !== $_GET['password2']) {
showmessage('profile_passwd_notmatch');
}

if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) {
showmessage('profile_passwd_illegal');
}
$password = $_GET['password'];
} else {
$password = md5(random(10));
}
}
这样修改后,后台就会出现一个注册邮箱取消的功能。

crx349 发表于 2016-5-3 17:22:53

**** Hidden Message *****
页: [1]
查看完整版本: Discuz! x3.2 关闭邮箱必填 选项