/** * 修改密码提交处理(支持 ajax). * status: 0 旧密码项, 1: 密码项, 2:确认密码项, 8:修改失败, 9:修改成功 * * @access public * @return void * @author Liuping <*****@*****.**> */ public function changeLoginPasswdAction() { $pattern = '/^.{6,20}$/'; $result = []; $oldPwd = I('post.oldPasswd', ''); $passwd = I('post.passwd', ''); $rePasswd = I('post.repasswd', ''); if (empty($oldPwd)) { $result['status'] = 0; $result['msg'] = L('CONTROLLER_MSG12'); } elseif (empty($passwd)) { $result['status'] = 1; $result['msg'] = L('CONTROLLER_MSG13'); } elseif (empty($rePasswd)) { $result['status'] = 2; $result['msg'] = L('CONTROLLER_MSG14'); } elseif ($passwd != $rePasswd) { $result['status'] = 2; $result['msg'] = L('CONTROLLER_MSG15'); } elseif (!preg_match($pattern, $passwd)) { $result['status'] = 1; $result['msg'] = L('CONTROLLER_MSG16'); } else { $model = new UserModel(); $username = session('username'); $info = $model->checkLogin($username, $oldPwd); if (!$info) { // 旧密码不正确 $result['status'] = 0; $result['msg'] = L('CONTROLLER_MSG17'); } else { if (FALSE !== $model->resetPasswd($username, $passwd)) { $result['status'] = 9; $result['msg'] = L('CONTROLLER_MSG18'); $result['url'] = U('Home/User/login'); $this->logout(); } else { $result['status'] = 8; $result['msg'] = L('CONTROLLER_MSG19'); } } } if (IS_AJAX) { $this->ajaxReturn($result, 'json'); } elseif ($result['status'] == 9) { $this->success($result['msg'], $result['url']); } else { $this->error($result['msg']); } }