| @@ -665,6 +665,20 @@ function AddFilter($channelid, $type=1, $fieldsnamef=array(), $defaulttid=0, $to | |||
| } | |||
| echo $dede_addonfields; | |||
| } | |||
| /** | |||
| * HideEmail 隐藏邮箱 | |||
| * | |||
| * @param mixed $email | |||
| * @return string | |||
| */ | |||
| function HideEmail($email) | |||
| { | |||
| $em = explode("@",$email); | |||
| $name = implode('@', array_slice($em, 0, count($em)-1)); | |||
| $len = floor(strlen($name)/2); | |||
| return substr($name,0, $len) . str_repeat('*', $len) . "@" . end($em); | |||
| } | |||
| //自定义函数接口 | |||
| if (file_exists(DEDEINC.'/extend.func.php')) { | |||
| require_once(DEDEINC.'/extend.func.php'); | |||
| @@ -21,7 +21,44 @@ if ($action === 'is_need_check_code') { | |||
| ), | |||
| )); | |||
| exit; | |||
| } else { | |||
| } else if ($action === 'get_old_email') { | |||
| $oldpwd = isset($oldpwd)? $oldpwd : ''; | |||
| if (empty($oldpwd)) { | |||
| echo json_encode(array( | |||
| "code" => -1, | |||
| "msg" => "旧密码不能为空", | |||
| "data" => null, | |||
| )); | |||
| exit; | |||
| } | |||
| $row = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='".$cfg_ml->M_ID."'"); | |||
| if (function_exists('password_hash') && !empty($row['pwd_new'])) { | |||
| if (!is_array($row) || !password_verify($oldpwd, $row['pwd_new'])) { | |||
| echo json_encode(array( | |||
| "code" => -1, | |||
| "msg" => "旧密码校验错误", | |||
| "data" => null, | |||
| )); | |||
| exit; | |||
| } | |||
| } else { | |||
| if (!is_array($row) || $row['pwd'] != md5($oldpwd)) { | |||
| echo json_encode(array( | |||
| "code" => -1, | |||
| "msg" => "旧密码校验错误", | |||
| "data" => null, | |||
| )); | |||
| exit; | |||
| } | |||
| } | |||
| echo json_encode(array( | |||
| "code" => 0, | |||
| "msg" => "", | |||
| "data" => array( | |||
| "email" => $row['email'], | |||
| ), | |||
| )); | |||
| } else { | |||
| $format = isset($format) ? "json" : ""; | |||
| if (!$cfg_ml->IsLogin()) { | |||
| if ($format === 'json') { | |||
| @@ -63,14 +63,17 @@ if ($dopost == 'save') { | |||
| exit(); | |||
| } | |||
| //修改邮箱 | |||
| if ($email != $row['email']) { | |||
| if (!CheckEmail($email)) { | |||
| ShowMsg('邮箱格式不正确', '-1'); | |||
| exit(); | |||
| } else { | |||
| $addupquery .= ",email='$email'"; | |||
| if (!empty($email)) { | |||
| if ($email != $row['email']) { | |||
| if (!CheckEmail($email)) { | |||
| ShowMsg('邮箱格式不正确', '-1'); | |||
| exit(); | |||
| } else { | |||
| $addupquery .= ",email='$email'"; | |||
| } | |||
| } | |||
| } | |||
| //修改安全问题 | |||
| if ($newsafequestion != 0 && $newsafeanswer != '') { | |||
| if (strlen($newsafeanswer) > 30) { | |||
| @@ -30,11 +30,6 @@ | |||
| ShowMsg("请您填写昵称"); | |||
| return false; | |||
| } | |||
| if (document.form2.vdcode.value == "") { | |||
| document.form2.vdcode.focus(); | |||
| ShowMsg("请您填写验证码"); | |||
| return false; | |||
| } | |||
| } | |||
| </script> | |||
| </head> | |||
| @@ -101,7 +96,10 @@ | |||
| </div> | |||
| <div class="form-group row"> | |||
| <label for="iptEmail" class="col-sm-3 col-form-label">邮箱</label> | |||
| <div class="col-sm-9"><input type="email" name="email" id="iptEmail" class="form-control" placeholder="每个邮箱只能注册一个帐号,修改邮箱必须填写正确安全问题答案"></div> | |||
| <div class="col-sm-9"> | |||
| <span id="spEmail"><?php echo HideEmail($row['email']);?> <span class="btn btn-success btn-sm" id="btnChangeEmail">修改邮箱</span></span> | |||
| <span id="iptEmail"></span> | |||
| </div> | |||
| </div> | |||
| <div class="form-group row"> | |||
| <label for="iptEmail" class="col-sm-3 col-form-label">性别</label> | |||
| @@ -118,5 +116,25 @@ | |||
| </div> | |||
| </div> | |||
| <?php pasterTempletDiy('foot.htm');?> | |||
| <script> | |||
| $(document).ready(function () { | |||
| $("#btnChangeEmail").click(function(){ | |||
| if ($("#iptOldpwd").val() === "") { | |||
| ShowMsg("请您填写旧密码"); | |||
| return false; | |||
| } | |||
| $.post("<?php echo $cfg_cmsurl;?>/user/api.php?action=get_old_email",{oldpwd:$("#iptOldpwd").val()},function(result) { | |||
| if (result.code === 0) { | |||
| console.log(result); | |||
| $("#spEmail").hide(); | |||
| $("#iptEmail").html(`<input value="${result.data.email}" type="email" name="email" id="iptEmail" class="form-control">`); | |||
| $("#iptEmail").show(); | |||
| } else { | |||
| ShowMsg(result.msg); | |||
| } | |||
| }); | |||
| }) | |||
| }); | |||
| </script> | |||
| </body> | |||
| </html> | |||