private function importBirthday()

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,
                ]);
            }
        }
    }