diff --git a/composer.json b/composer.json index 53b918ed..a321ec70 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ "prefer-stable": true, "minimum-stability": "dev", "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~8.3.0 || ~8.4.0", "doctrine/dbal": "^3.4.2", "doctrine/migrations": "^3.0.2", "dragonmantank/cron-expression": "^3.0.2", @@ -23,6 +23,7 @@ "guzzlehttp/guzzle": "^7.2", "knplabs/knp-components": "^5.0", "knplabs/knp-paginator-bundle": "^6.0.0", + "nesbot/carbon": "^3.8.4", "openspout/openspout": "^4.0", "pear/archive_tar": "^1.4.14", "pimcore/newsletter-bundle": "^1.0", diff --git a/src/CustomerView/Customer/Maintenance.php b/src/CustomerView/Customer/Maintenance.php index 55e048f4..cfef9e07 100644 --- a/src/CustomerView/Customer/Maintenance.php +++ b/src/CustomerView/Customer/Maintenance.php @@ -48,7 +48,7 @@ public function cleanUpTemporaryCustomers() // check each customer if it should be deleted foreach ($tempCustomers as $customer) { // fetch modification date - $date = Carbon::createFromTimestamp($customer->getModificationDate()); + $date = Carbon::createFromTimestamp($customer->getModificationDate(), date_default_timezone_get()); // if contact is unpublished and last modification was more then 1 day ago if (!$customer->isPublished() && $date->diffInDays(Carbon::now()) > 1) { // delete the customer diff --git a/src/DataTransformer/Date/TimestampToAge.php b/src/DataTransformer/Date/TimestampToAge.php index 412cf480..51c12358 100644 --- a/src/DataTransformer/Date/TimestampToAge.php +++ b/src/DataTransformer/Date/TimestampToAge.php @@ -22,7 +22,7 @@ class TimestampToAge implements DataTransformerInterface { public function transform($data, $options = []) { - $date = Carbon::createFromTimestamp(strtotime(date('Y-m-d', $data))); + $date = Carbon::createFromTimestamp(strtotime(date('Y-m-d', $data)), date_default_timezone_get()); $today = new Carbon(); return $today->diffInYears($date); diff --git a/src/Model/AbstractObjectActivity.php b/src/Model/AbstractObjectActivity.php index c8b11bf8..4eb18d33 100644 --- a/src/Model/AbstractObjectActivity.php +++ b/src/Model/AbstractObjectActivity.php @@ -32,7 +32,7 @@ public function cmfIsActive() public function cmfGetActivityDate() { - return Carbon::createFromTimestamp($this->getCreationDate()); + return Carbon::createFromTimestamp($this->getCreationDate(), date_default_timezone_get()); } public function cmfUpdateOnSave() diff --git a/src/Model/Activity/GenericActivity.php b/src/Model/Activity/GenericActivity.php index 0974ae15..31cc8c58 100644 --- a/src/Model/Activity/GenericActivity.php +++ b/src/Model/Activity/GenericActivity.php @@ -55,7 +55,7 @@ public function cmfGetActivityDate() } if (is_int($this->data['activityDate'])) { - return Carbon::createFromTimestamp($this->data['activityDate']); + return Carbon::createFromTimestamp($this->data['activityDate'], date_default_timezone_get()); } return new Carbon(); diff --git a/src/Model/ActivityStoreEntry/DefaultActivityStoreEntry.php b/src/Model/ActivityStoreEntry/DefaultActivityStoreEntry.php index 5f7ad2bc..5bd48f83 100644 --- a/src/Model/ActivityStoreEntry/DefaultActivityStoreEntry.php +++ b/src/Model/ActivityStoreEntry/DefaultActivityStoreEntry.php @@ -177,7 +177,7 @@ public function getActivityDate() */ public function setActivityDate($activityDate) { - $this->activityDate = Carbon::createFromTimestamp($activityDate); + $this->activityDate = Carbon::createFromTimestamp($activityDate, date_default_timezone_get()); } /** diff --git a/src/Newsletter/ProviderHandler/Mailchimp/CliSyncProcessor.php b/src/Newsletter/ProviderHandler/Mailchimp/CliSyncProcessor.php index 1757dabb..f5a2e460 100644 --- a/src/Newsletter/ProviderHandler/Mailchimp/CliSyncProcessor.php +++ b/src/Newsletter/ProviderHandler/Mailchimp/CliSyncProcessor.php @@ -68,7 +68,7 @@ public function syncStatusChanges() $client = $exportService->getApiClient(); // get updates from the last 30 days - $date = Carbon::createFromTimestamp(time() - (60 * 60 * 24 * 30)); + $date = Carbon::createFromTimestamp(time() - (60 * 60 * 24 * 30), date_default_timezone_get()); $date = $date->toAtomString(); $count = 20; diff --git a/src/Newsletter/ProviderHandler/Mailchimp/MailChimpExportService.php b/src/Newsletter/ProviderHandler/Mailchimp/MailChimpExportService.php index 5b076582..121109c4 100644 --- a/src/Newsletter/ProviderHandler/Mailchimp/MailChimpExportService.php +++ b/src/Newsletter/ProviderHandler/Mailchimp/MailChimpExportService.php @@ -270,6 +270,6 @@ public function getMd5($data) */ protected function getNoteDateTime(Note $note) { - return Carbon::createFromTimestamp($note->getDate()); + return Carbon::createFromTimestamp($note->getDate(), date_default_timezone_get()); } } diff --git a/tests/Model/Customer/CustomerListTest.php b/tests/Model/Customer/CustomerListTest.php index 8ebfc591..458ff8cf 100644 --- a/tests/Model/Customer/CustomerListTest.php +++ b/tests/Model/Customer/CustomerListTest.php @@ -146,7 +146,9 @@ protected function createCustomers() $customer->setLastname($customerData['lastname']); $customer->setEmail($customerData['email']); $customer->setZip($customerData['zip']); - $customer->setBirthdate(Carbon::createFromFormat('Y-m-d', $customerData['date'])); + $customer->setBirthdate( + Carbon::createFromFormat('Y-m-d', $customerData['date']) + ); $segments = []; foreach ($customerData['segments']['manual'] as $segmentReference) { @@ -321,7 +323,11 @@ public function testDateBetweenFilter() $listing = new Customer\Listing(); $handler = new FilterHandler($listing); - $dateFilter = new DateBetween('birthdate', Carbon::createFromFormat('Y-m-d', '1970-01-01'), Carbon::now()); + $dateFilter = new DateBetween( + 'birthdate', + Carbon::createFromFormat('Y-m-d', '1970-01-01'), + Carbon::now() + ); $handler->addFilter($dateFilter); $modifiedListing = $handler->getListing(); @@ -330,7 +336,11 @@ public function testDateBetweenFilter() $listing = new Customer\Listing(); $handler = new FilterHandler($listing); - $dateFilter = new DateBetween('birthdate', Carbon::createFromFormat('Y-m-d', '1980-05-01'), Carbon::createFromFormat('Y-m-d', '1980-05-31')); + $dateFilter = new DateBetween( + 'birthdate', + Carbon::createFromFormat('Y-m-d', '1980-05-01'), + Carbon::createFromFormat('Y-m-d', '1980-05-31') + ); $handler->addFilter($dateFilter); $modifiedListing = $handler->getListing(); @@ -340,10 +350,18 @@ public function testDateBetweenFilter() $listing = new Customer\Listing(); $handler = new FilterHandler($listing); - $dateFilter = new DateBetween('birthdate', Carbon::createFromFormat('Y-m-d', '1980-05-01'), Carbon::createFromFormat('Y-m-d', '1980-05-31')); + $dateFilter = new DateBetween( + 'birthdate', + Carbon::createFromFormat('Y-m-d', '1980-05-01'), + Carbon::createFromFormat('Y-m-d', '1980-05-31') + ); $handler->addFilter($dateFilter); - $dateFilter = new DateBetween('birthdate', Carbon::createFromFormat('Y-m-d', '1980-01-01'), Carbon::createFromFormat('Y-m-d', '1980-08-31')); + $dateFilter = new DateBetween( + 'birthdate', + Carbon::createFromFormat('Y-m-d', '1980-01-01'), + Carbon::createFromFormat('Y-m-d', '1980-08-31') + ); $handler->addFilter($dateFilter); $modifiedListing = $handler->getListing();