From 26c7cd650f54f59203272c4af732b5f11aa8989f Mon Sep 17 00:00:00 2001 From: netkas Date: Thu, 9 Jan 2025 15:47:21 -0500 Subject: [PATCH] Handle null values and validate inputs in RegisteredPeerRecord --- .../Objects/Database/RegisteredPeerRecord.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Socialbox/Objects/Database/RegisteredPeerRecord.php b/src/Socialbox/Objects/Database/RegisteredPeerRecord.php index a88f48e..f2c04f4 100644 --- a/src/Socialbox/Objects/Database/RegisteredPeerRecord.php +++ b/src/Socialbox/Objects/Database/RegisteredPeerRecord.php @@ -41,7 +41,11 @@ $this->emailAddress = $data['email_address'] ?? null; $this->phoneNumber = $data['phone_number'] ?? null; - if(is_int($data['birthday'])) + if(!isset($data['birthday'])) + { + $this->birthday = null; + } + elseif(is_int($data['birthday'])) { $this->birthday = (new DateTime())->setTimestamp($data['birthday']); } @@ -55,7 +59,7 @@ } else { - $this->birthday = null; + throw new \InvalidArgumentException("The birthday field must be a valid timestamp or date string."); } if($data['flags']) @@ -69,7 +73,11 @@ $this->enabled = $data['enabled']; - if(is_int($data['created'])) + if(!isset($data['created'])) + { + $this->created = new DateTime(); + } + elseif(is_int($data['created'])) { $this->created = (new DateTime())->setTimestamp($data['created']); }