File: D:/HostingSpaces/SBogers10/wingssprayer.komma.pro/vendor/komma/kms/src/Auth/Rules/GuestOrNxUser.php
<?php
namespace Komma\KMS\Auth\Rules;
use Komma\KMS\Users\Models\SiteUser;
use Illuminate\Contracts\Validation\Rule;
/**
* Class GuestOrNxUser
*
* Validates that an e-mail adress belongs to a guest or that it is not registered yet
*
* @package App\Rules
*/
class GuestOrNxUser implements Rule
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
$emailExists = SiteUser::where(SiteUser::USERNAME_COLUMN_NAME, '=', $value)->count() >= 1;
$emailFromGuest = SiteUser::where(SiteUser::USERNAME_COLUMN_NAME, '=', $value)->where('guest', '=', true)->count() >= 1;
return (!$emailExists || ($emailExists && $emailFromGuest));
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return __('validation.unique', ['attribute' => 'e-mail']);
}
}