/** * 重置密码验证 * 包括邮件重置密码和短信重置密码都在这里统一验证 * @param HttpRequest $request */ public function password(HttpRequest $request) { $email = $request->getParameter('email', 'trim'); $authcode = $request->getParameter('authcode', 'trim'); $mobile = $request->getParameter('mobile', 'trim'); $password = $request->getParameter('password', 'trim'); $repass = $request->getParameter('repass', 'trim'); $userid = $request->getParameter('userid', 'intval'); if ($email != '') { $__authcode = getEmailCode($email, 7200); } else { if ($mobile != '') { $__authcode = getMobileCode($mobile, 600); } } if ($__authcode != $authcode) { AjaxResult::ajaxResult('error', '授权码错误'); } if ($password != $repass) { AjaxResult::ajaxResult('error', '两次输入密码不一致'); } $userService = Beans::get('user.user.service'); if ($userService->set('password', md5(md5($password)), $userid)) { AjaxResult::ajaxSuccessResult(); } else { AjaxResult::ajaxFailtureResult(); } }
/** * 重新绑定邮箱 * @param HttpRequest $request */ public function bindEmail(HttpRequest $request) { $email = $request->getParameter('email', 'trim'); $password = $request->getParameter('password', 'trim'); $authcode = $request->getParameter('authcode', 'trim'); //验证登录密码 $userService = Beans::get('user.user.service'); $conditions = array('username' => $this->loginUser['username'], 'password' => md5(md5($password))); if ($userService->count($conditions) == 0) { AjaxResult::ajaxResult('error', '登录密码错误!'); } //验证授权码 $__authcode = getEmailCode($email, 1800); if ($__authcode != $authcode) { AjaxResult::ajaxResult('error', '授权码错误!'); } $mediaService = Beans::get('media.media.service'); $data = array('email' => $email); if ($mediaService->update($data, $this->loginUser['id'])) { $this->updateLoginMedia($data); AjaxResult::ajaxSuccessResult(); } else { AjaxResult::ajaxFailtureResult(); } }
/** * 邀请管理员登录 * @param HttpRequest $request */ public function inviteCheck(HttpRequest $request) { $username = $request->getParameter('username', 'trim'); $password = $request->getParameter('password', 'trim'); $authcode = $request->getParameter('authcode', 'trim'); $email = $request->getParameter('email', 'trim'); $mid = $request->getParameter('mid', 'intval'); //管理员ID $__authcode = getEmailCode($email); if ($authcode != $__authcode) { AjaxResult::ajaxResult('error', "验证失败,邀请码错误或者失效!"); } $userService = Beans::get('user.user.service'); $errorMsg = null; $login = $userService->login($username, $password, $errorMsg); if ($login) { if ($login['ischeck'] == 2) { AjaxResult::ajaxResult('error', '您的帐号被封号,请联系管理员!'); } $userService->setLoginUser($login); //更新管理员的授权状态 $managerService = Beans::get('media.manager.service'); $managerService->set('status', 1, $mid); AjaxResult::ajaxResult('ok', url('/user_ucenter_index')); } else { AjaxResult::ajaxResult('error', "验证失败,{$errorMsg}"); } }
/** * 邮箱激活页面验证 * @param HttpRequest $request */ public function emailActiveCheck(HttpRequest $request) { $userid = $request->getParameter('userid', 'intval'); $authcode = $request->getParameter('authcode', 'trim'); $userService = Beans::get('user.user.service'); $user = $userService->getItem($userid); $__authcode = getEmailCode($user['email']); if ($__authcode != $authcode) { $this->assign('message', '您的激活链接已失效,请重新发送激活邮箱'); } else { if ($userService->set('email_check', 1, $userid)) { $this->assign('message', '您的邮箱已经成功激活! <a class="red_btn" href="' . url('/user_login_index') . '">马上登录</a>'); } } $this->setView('email_active_check'); }