HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/csb.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']);
    }
}