最近有看到有站長想去掉discuz注册时候的邮箱必填选项,本来这个在x3.0 和 x3.1 版本時後台可以設置的,但 x3.2 版本後台又取消這個功能設置了。
不过既然有需求恢复这个功能,那么草根吧(www.cgzz8.cn)就把教程贴出来给大家:
1、第一步
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');
复制代码
2、第二步
打開
source/language/lang_admincp.php 文件
查找:
個郵箱只允許註冊一個帳戶<br/>注意:只有在<a href=”?action=setting&operation=mail”>站長 – 郵件設置</a>中完成郵件設置,確保郵件能發送成功下可以開啟該功能 ‘,
或者(看是简体还是繁体):
一个邮箱只允许注册一个帐户<br/>注意:只有在<a href=”?action=setting&operation=mail”>站长 – 邮件设置</a>中完成邮件设置,确保邮件能发送成功下可以开启该功能 在下面添加: - 'setting_access_register_forge_email' => '取消注册邮箱必填',
- 'setting_access_register_forge_email_comment' => '开启后如果用不不填写注册邮箱,将自动生成一个邮箱地址',
复制代码
或者: - '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));
- }
- }
复制代码
这样修改后,后台就会出现一个注册邮箱取消的功能。然后设置取消后,前台也会相应的变化了。
|