您的位置:首页 > 编程语言 > PHP开发

discuz关闭邮箱注册必填选项

2015-11-17 00:00 681 查看
由于需要,我要做的网站不需要注册的时候填写邮件,需要关闭必填,于是从网上找了教程,发现没有后台的选项,之后知道,discuz3.2之后就取消 取消邮箱必填 这个选项了,于是从网上找了点资料,成功关闭邮箱注册必填选项。

情况1:disczu3.2之前的版本,直接在后台-----全局------注册与访问控制,取消邮箱注册必填即可。


情况二:3.2后的版本,需要改动代码使 取消注册邮箱必填按钮 显现出来,具体步骤如下。

第一步:查找source/admincp/admincp_setting.php 文件

查找

showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio');

在这个代码下添加

showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio');


第二步
:查找source/language/lang_admincp.php 文件

查找一个邮箱只允许注册一个帐户<br/>注意:只有在<a href=”?action=setting&operation=mail”>站长 – 邮件设置</a>中完成 邮件设置,确保邮件能发送成功下可以开启该功能

在这段话下面添加

'setting_access_register_forge_email' => '取消注册邮箱必填',
'setting_access_register_forge_email_comment' => '开启后如果用不不填写注册邮箱,将自动生成一个邮箱地址',


第三步
:查找
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));
}
}
这样
后台-----全局------注册与访问控制,中的取消邮箱注册必填选项 就会出来了,点击取消选项即可。哈哈!

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php discuz 邮箱 邮件