(Update) Better Email Validation Checks

This commit is contained in:
HDVinnie
2018-09-17 22:06:49 -04:00
parent 6dfdb323f5
commit ed4b140e1e
3 changed files with 25 additions and 14 deletions
+5 -6
View File
@@ -67,11 +67,10 @@ class InviteController extends Controller
}
$exist = Invite::where('email', $request->input('email'))->first();
$member = User::where('email', $request->input('email'))->first();
if ($exist || $member) {
if ($exist) {
return redirect()->route('invite')
->with(Toastr::error('The email address your trying to send a invite to has already been sent one or is a used already.', 'Whoops!', ['options']));
->with(Toastr::error('The email address your trying to send a invite to has already been sent one.', 'Whoops!', ['options']));
}
$code = Uuid::uuid4()->toString();
@@ -84,17 +83,17 @@ class InviteController extends Controller
if (config('email-white-blacklist.enabled') === 'allow') {
$v = validator($invite->toArray(), [
"email" => "required|email|email_list:allow", // Whitelist
"email" => "required|email|unique:users|email_list:allow", // Whitelist
"custom" => "required"
]);
} elseif (config('email-white-blacklist.enabled') === 'block') {
$v = validator($invite->toArray(), [
"email" => "required|email|email_list:block", // Blacklist
"email" => "required|email|unique:users|email_list:block", // Blacklist
"custom" => "required"
]);
} else {
$v = validator($invite->toArray(), [
"email" => "required|email", // Default
"email" => "required|email|unique:users", // Default
"custom" => "required"
]);
}
+19 -5
View File
@@ -271,11 +271,25 @@ class UserController extends Controller
protected function changeEmail(Request $request, $username, $id)
{
$user = auth()->user();
$v = validator($request->all(), [
'current_password' => 'required',
'new_email' => 'required',
]);
if ($v->passes()) {
if (config('email-white-blacklist.enabled') === 'allow') {
$v = validator($request->all(), [
'email' => 'required|email|unique:users|email_list:allow', // Whitelist
]);
} elseif (config('email-white-blacklist.enabled') === 'block') {
$v = validator($request->all(), [
'email' => 'required|email|unique:users|email_list:block', // Blacklist
]);
} else {
$v = validator($request->all(), [
'email' => 'required|email|unique:users', // Default
]);
}
if ($v->fails()) {
return redirect()->route('profile', ['username' => $user->username, 'id' => $user->id])
->with(Toastr::error($v->errors()->toJson(), 'Whoops!', ['options']));
} else {
$user->email = $request->input('new_email');
$user->save();
+1 -3
View File
@@ -200,10 +200,8 @@
{{ Form::open(array('url' => '/{username}.{id}/settings/change_email','role' => 'form', 'class' => 'login-frm')) }}
<label for="current_email">Current Email</label>
<p class="text-primary">{{ $user->email }}</p>
<label for="current_password">Current Password</label>
<input type="password" name="current_password" class="form-control" placeholder="Current Password">
<label for="email">New Email</label>
<input class="form-control" placeholder="New Email" name="new_email" type="text" id="new_email">
<input class="form-control" placeholder="New Email" name="email" type="email">
<br>
<button type="submit" class="btn btn-primary">Make The Switch!</button>
{{ Form::close() }}