From 532c38e4194a79b12e79a6b671d8aae530767caa Mon Sep 17 00:00:00 2001 From: edalzell Date: Mon, 9 Jun 2025 15:10:04 -0700 Subject: [PATCH 1/3] =?UTF-8?q?don=E2=80=99t=20use=20deprecated=20methods?= =?UTF-8?q?=20on=20carbon=20v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ServiceProvider.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 47f8bc8..1c60be4 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -2,6 +2,7 @@ namespace TransformStudios\Events; +use Composer\InstalledVersions; use Edalzell\Forma\Forma; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Artisan; @@ -56,6 +57,10 @@ private function bootCarbon(): self { Carbon::setLocale(Site::current()->locale()); + if (InstalledVersions::getVersion('nesbot/carbon') >= '3') { + return $this; + } + /* Using these deprecated methods because I couldn't figure out another way to have the weekstart set based on the current locale. From f50c827df23fc209ea4dedb134fe1a96e7ebb96c Mon Sep 17 00:00:00 2001 From: edalzell Date: Mon, 9 Jun 2025 15:14:23 -0700 Subject: [PATCH 2/3] v3 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index a16c084..5ab99f8 100644 --- a/composer.json +++ b/composer.json @@ -37,7 +37,7 @@ "require": { "php": "^8.2", "edalzell/forma": "^2.0 || ^3.0", - "nesbot/carbon": "^2.0", + "nesbot/carbon": "^2.0 || ^3.0", "rlanvin/php-rrule": "^2.3.1", "spatie/calendar-links": "^1.0", "spatie/icalendar-generator": "^2.3.3", From 1c3e65aab33f50b144658623cbfa10bb687419d7 Mon Sep 17 00:00:00 2001 From: edalzell Date: Mon, 9 Jun 2025 15:24:40 -0700 Subject: [PATCH 3/3] if carbon 3, do it this way --- src/Modifiers/IsEndOfWeek.php | 10 +++++++++- src/Modifiers/IsStartOfWeek.php | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Modifiers/IsEndOfWeek.php b/src/Modifiers/IsEndOfWeek.php index bd9f5ab..d84e4ea 100755 --- a/src/Modifiers/IsEndOfWeek.php +++ b/src/Modifiers/IsEndOfWeek.php @@ -2,6 +2,8 @@ namespace TransformStudios\Events\Modifiers; +use Carbon\CarbonImmutable; +use Composer\InstalledVersions; use Illuminate\Support\Carbon; use Statamic\Modifiers\Modifier; @@ -9,6 +11,12 @@ class IsEndOfWeek extends Modifier { public function index($value, $params, $context) { - return Carbon::parse($value)->dayOfWeek == now()->endOfWeek()->dayOfWeek; + $date = CarbonImmutable::parse($value); + + if (InstalledVersions::getVersion('nesbot/carbon') >= '3') { + $date->isSameDay($date->locale(Carbon::getLocale())->startOfWeek()); + } + + return $date->dayOfWeek == now()->endOfWeek()->dayOfWeek; } } diff --git a/src/Modifiers/IsStartOfWeek.php b/src/Modifiers/IsStartOfWeek.php index a5bdf26..5f32daa 100755 --- a/src/Modifiers/IsStartOfWeek.php +++ b/src/Modifiers/IsStartOfWeek.php @@ -2,6 +2,8 @@ namespace TransformStudios\Events\Modifiers; +use Carbon\CarbonImmutable; +use Composer\InstalledVersions; use Illuminate\Support\Carbon; use Statamic\Modifiers\Modifier; @@ -9,6 +11,12 @@ class IsStartOfWeek extends Modifier { public function index($value, $params, $context) { - return Carbon::parse($value)->dayOfWeek == now()->startOfWeek()->dayOfWeek; + $date = CarbonImmutable::parse($value); + + if (InstalledVersions::getVersion('nesbot/carbon') >= '3') { + $date->isSameDay($date->locale(Carbon::getLocale())->startOfWeek()); + } + + return $date->dayOfWeek == now()->startOfWeek()->dayOfWeek; } }