in app/Services/VCard/ImportVCard.php [697:729]
private function importBirthday(Contact $contact, VCard $entry): void
{
if ($entry->BDAY && ! empty((string) $entry->BDAY)) {
$bday = (string) $entry->BDAY;
$is_year_unknown = false;
if (Str::startsWith($bday, '--')) {
$bday = '0'.substr($bday, 1);
$is_year_unknown = true;
}
$birthdate = null;
try {
$birthdate = DateHelper::parseDate($bday);
} catch (\Exception $e) {
// catch any date parse exception
}
if (! is_null($birthdate)) {
app(UpdateBirthdayInformation::class)->execute([
'account_id' => $contact->account_id,
'contact_id' => $contact->id,
'is_date_known' => true,
'is_age_based' => false,
'day' => $birthdate->day,
'month' => $birthdate->month,
'year' => $is_year_unknown ? null : $birthdate->year,
'add_reminder' => true,
'is_deceased' => false,
]);
}
}
}