Überprüfung, ob es einen oder mehrere Benutzer mit der angegebenen E-Mail-Adresse gibt

Zur Verwendung in beispielsweise der Benutzerregistrierung oder in eigenen Scripten
require_once($_SERVER['DOCUMENT_ROOT'] . '/weblication/grid.php');

/**
 * @param array  $options
 * @param string $email
 * @return bool
 */
function checkIfUserWithEmailExistsstring $email, array $options = [] ): bool {

    if( empty( 
$email ) ) {
        return 
false;
    }

    if( 
array_key_exists'clearIndex'$options ) && $options['clearIndex'] === true ) {
        
wUsers::clearIndexUsers();
    }

    
$usersQuery = [];
    
$usersQuery['filterset'] = [ 'type' => 'or' ];
    
$usersQuery['filterset'][] = [ 'wPath' => '/wUser/email/@value''operator' => '==''condition' => $email ];

    if( 
array_key_exists'considerAdditionalEmailFields'$options ) && $options['considerAdditionalEmailFields'] === true ) {
        
$usersQuery['filterset'][] = [ 'wPath' => '/wUser/email[@class="private"]/@value''operator' => '==''condition' => $email ];
        
$usersQuery['filterset'][] = [ 'wPath' => '/wUser/email[@class="business"]/@value''operator' => '==''condition' => $email ];
    }

    
$users wUsers::selectUsers$usersQuery );

    return !empty( 
$users );

}

// usage
checkIfUserWithEmailExists
    
'email@domain.dd'
    [ 
        
'clearIndex' => true
        
'considerAdditionalEmailFields' => true 
    

);