Files
WebAPP/vendor/nesbot/carbon/src/Carbon/WeekDay.php
Rhino 2e24a40d68 Stand: SMTP-Test, Admin-Mail-Tab, Notifiable-Fix, Lazy-Quill
- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er)
- Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link
- Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest
- Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen)
- Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 07:30:37 +01:00

69 lines
2.1 KiB
PHP
Executable File

<?php
declare(strict_types=1);
/**
* This file is part of the Carbon package.
*
* (c) Brian Nesbitt <brian@nesbot.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Carbon;
use Carbon\Exceptions\InvalidFormatException;
enum WeekDay: int
{
// Using constants is only safe starting from PHP 8.2
case Sunday = 0; // CarbonInterface::SUNDAY
case Monday = 1; // CarbonInterface::MONDAY
case Tuesday = 2; // CarbonInterface::TUESDAY
case Wednesday = 3; // CarbonInterface::WEDNESDAY
case Thursday = 4; // CarbonInterface::THURSDAY
case Friday = 5; // CarbonInterface::FRIDAY
case Saturday = 6; // CarbonInterface::SATURDAY
public static function int(self|int|null $value): ?int
{
return $value instanceof self ? $value->value : $value;
}
public static function fromNumber(int $number): self
{
$day = $number % CarbonInterface::DAYS_PER_WEEK;
return self::from($day + ($day < 0 ? CarbonInterface::DAYS_PER_WEEK : 0));
}
public static function fromName(string $name, ?string $locale = null): self
{
try {
return self::from(CarbonImmutable::parseFromLocale($name, $locale)->dayOfWeek);
} catch (InvalidFormatException $exception) {
// Possibly current language expect a dot after short name, but it's missing
if ($locale !== null && !mb_strlen($name) < 4 && !str_ends_with($name, '.')) {
try {
return self::from(CarbonImmutable::parseFromLocale($name.'.', $locale)->dayOfWeek);
} catch (InvalidFormatException) {
// Throw previous error
}
}
throw $exception;
}
}
public function next(?CarbonImmutable $now = null): CarbonImmutable
{
return $now?->modify($this->name) ?? new CarbonImmutable($this->name);
}
public function locale(string $locale, ?CarbonImmutable $now = null): CarbonImmutable
{
return $this->next($now)->locale($locale);
}
}