/** * Send a reset link to the given user. * @param Request $request * @return int|\Symfony\Component\HttpFoundation\Response */ public function postEmail(Request $request) { if (!$request->ajax()) { return JsonHelper::invalidRequest(); } $email = filter_var($request->request->get('email'), FILTER_SANITIZE_STRING); $validator = Validator::make(['email' => $email], ['email' => 'required|regex:/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/']); if ($validator->fails()) { return JsonHelper::json('', $validator->messages(), 50001); } $user = LoginUser::where('email', $email)->first(); if (!$user) { return JsonHelper::json('', 'USER NOT EXISTS', ErrorCode::USER_NOT_EXISTS); } $response = $this->passwords->sendResetLink($request->only('email'), function ($m) { $m->subject($this->getEmailSubject()); }); switch ($response) { case PasswordBroker::RESET_LINK_SENT: // return redirect()->back()->with('status', trans($response)); return JsonHelper::json('', 'send success', 10000); case PasswordBroker::INVALID_USER: // return redirect()->back()->withErrors(['email' => trans($response)]); return JsonHelper::json('', 'send fail', 50001); } }