/** * Bootstrap any application services. * * @return void */ public function boot() { Validator::extend('user', function ($attribute, $value, $parameters) { if (VerifiedEmail::where('email', $value)->count() > 0 || User::where('username', $value)->count() > 0) { return true; } return false; }); }
public function verifyEmail($token) { if ($token) { $email = VerifiedEmail::where('verify_token', $token)->first(); if ($email && Carbon::now() <= $email->expires_at) { $email->verified_at = Carbon::now(); $email->verified = true; $email->save(); return $email; } } return false; }
/** * Login a user instance after a valid input. * * @param array $data * @return boolean */ public function login(array $data) { $user = User::where('username', $data['username'])->first(); $email = VerifiedEmail::where('email', $data['username'])->first(); if ($user && password_verify($data['password'], $user->password) || $email && password_verify($data['password'], $email->user->password)) { if ($user) { Auth::login($user, array_has($data, 'remember')); } else { Auth::login($email->user, array_has($data, 'remember')); } return true; } return false; }