Add normalized email identity rate limiting for registration and forgot-password requests, and refresh Sentinel status from restart broadcasts. Rework server sidebars and navbar for mobile menus and active status visibility.
20 lines
457 B
PHP
20 lines
457 B
PHP
<?php
|
|
|
|
use Illuminate\Support\Str;
|
|
|
|
function normalize_email_identity(?string $email): ?string
|
|
{
|
|
if (blank($email) || ! str_contains($email, '@')) {
|
|
return null;
|
|
}
|
|
|
|
[$localPart, $domain] = explode('@', Str::lower($email), 2);
|
|
$localPart = Str::before($localPart, '+');
|
|
$localPart = str_replace('.', '', $localPart);
|
|
|
|
if (blank($localPart) || blank($domain)) {
|
|
return null;
|
|
}
|
|
|
|
return $localPart.'@'.$domain;
|
|
}
|