|
以前3.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');
复制代码
第二步:语言包文件增加相关文件
source/language/lang_admincp.php 文件
在语言包的数组中增加
- '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']) {
- $email_ext = strpos($_SERVER['HTTP_HOST'], '.') ? $_SERVER['HTTP_HOST'] : $_SERVER['HTTP_HOST'].'.com';
- $_GET['email'] = $email = strtolower(random(6)).'@'.$email_ext;
- }
- 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));
- }
复制代码
完成修改后,后台全局中就会有一个取消邮箱必填的功能了。
|
|