Closed
Description
When logging sent emails I ran into an issue where cc
ed emails have a NULL
name array value. This was causing a false positive in the ternary setter and throwing an error. @itsgoingd any chance this is easy enough to add without needing a PR?
Before:
protected function notificationAddressToString($address)
{
if (! $address) return;
if (! is_array($address)) $address = [ $address ];
return array_map(function ($address) {
if (! is_array($address)) return $address;
$email = isset($address['address']) ? $address['address'] : $address[0];
$name = isset($address['name']) ? $address['name'] : $address[1];
return $name ? "{$name} <{$email}>" : $email;
}, $address);
}
After:
protected function notificationAddressToString($address)
{
if (! $address) return;
if (! is_array($address)) $address = [ $address ];
return array_map(function ($address) {
if (! is_array($address)) return $address;
// ----- check array key exists vs has value -----
$email = array_key_exists('address', $address) ? $address['address'] : $address[0];
$name = array_key_exists('name', $address) ? $address['name'] : $address[1];
return $name ? "{$name} <{$email}>" : $email;
}, $address);
}
Metadata
Metadata
Assignees
Labels
No labels