30
common/Auth/Validators/EmailVerifiedValidator.php
Executable file
30
common/Auth/Validators/EmailVerifiedValidator.php
Executable file
@@ -0,0 +1,30 @@
|
||||
<?php namespace Common\Auth\Validators;
|
||||
|
||||
use App;
|
||||
use App\Models\User;
|
||||
use Common\Settings\Settings;
|
||||
|
||||
class EmailVerifiedValidator {
|
||||
|
||||
/**
|
||||
* Check if user with specified email has verified his email address.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param string $value
|
||||
* @param array $parameters
|
||||
* @return bool
|
||||
*/
|
||||
public function validate($attribute, $value, $parameters) {
|
||||
$settings = App::make(Settings::class);
|
||||
|
||||
//don't need to validate email, bail
|
||||
if ( ! $settings->get('require_email_confirmation')) return true;
|
||||
|
||||
//if email address is not taken yet, bail
|
||||
if ( ! $user = User::where('email', $value)->first()) return true;
|
||||
|
||||
//check if specified email is verified
|
||||
/** @var User $user */
|
||||
return (bool) $user->hasVerifiedEmail();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user