diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 1347ef41..95bfbc1b 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -214,6 +214,10 @@ class AdminController extends Controller 'email' => 'required|email' ]); + if ($users->get($request->input('email'), 'email')) { + return json(trans('admin.users.operations.email.existed', ['email' => $request->input('email')]), 1); + } + $user->setEmail($request->input('email')); return json(trans('admin.users.operations.email.success'), 0); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 569f7de1..d37731a1 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -90,9 +90,9 @@ class UserController extends Controller * Handle changing user profile. * * @param Request $request - * @return void + * @return mixed */ - public function handleProfile(Request $request) + public function handleProfile(Request $request, UserRepository $users) { $action = $request->input('action', ''); @@ -129,6 +129,10 @@ class UserController extends Controller 'password' => 'required|min:8|max:16' ]); + if ($users->get($request->input('new_email'), 'email')) { + return json(trans('user.profile.email.existed'), 1); + } + if (!$this->user->verifyPassword($request->input('password'))) return json(trans('user.profile.email.wrong-password'), 1); diff --git a/resources/lang/en/admin.yml b/resources/lang/en/admin.yml index 71394412..5a09158b 100644 --- a/resources/lang/en/admin.yml +++ b/resources/lang/en/admin.yml @@ -17,6 +17,7 @@ users: non-existent: No such user. email: change: Edit Email + existed: :email is existed. success: Email changed successfully. nickname: change: Edit Nickname diff --git a/resources/lang/en/user.yml b/resources/lang/en/user.yml index 761d28e6..aee3142b 100644 --- a/resources/lang/en/user.yml +++ b/resources/lang/en/user.yml @@ -127,6 +127,7 @@ profile: password: Current Password button: Change Email wrong-password: Wrong password. + existed: This email address is used. success: Email address updated successfully, please log in again. delete: diff --git a/resources/lang/zh_CN/admin.yml b/resources/lang/zh_CN/admin.yml index cc69049f..0896c105 100644 --- a/resources/lang/zh_CN/admin.yml +++ b/resources/lang/zh_CN/admin.yml @@ -17,6 +17,7 @@ users: non-existent: 用户不存在 email: change: 修改邮箱 + existed: :email 已被占用 success: 邮箱修改成功 nickname: change: 修改昵称 diff --git a/resources/lang/zh_CN/user.yml b/resources/lang/zh_CN/user.yml index 19e8ffc7..3b10455e 100644 --- a/resources/lang/zh_CN/user.yml +++ b/resources/lang/zh_CN/user.yml @@ -134,6 +134,7 @@ profile: password: 当前密码 button: 修改邮箱 wrong-password: 密码错误 + existed: 这个邮箱已经被别人占用啦 success: 邮箱修改成功,请重新登录 delete: