diff -urN ../automatic_addressbook-0.4.3.orig/automatic_addressbook.php ./automatic_addressbook.php --- ../automatic_addressbook-0.4.3.orig/automatic_addressbook.php 2017-01-26 10:10:28.000000000 +0200 +++ ./automatic_addressbook.php 2023-03-16 14:57:47.440630000 +0200 @@ -123,15 +123,15 @@ if (!class_exists('rcube_mime')) { // RC < 0.8 compatibility code $IMAP = new rcube_imap(null); $all_recipients = array_merge( - $IMAP->decode_address_list($headers['To'], null, true, $headers['charset']), - $IMAP->decode_address_list($headers['Cc'], null, true, $headers['charset']), - $IMAP->decode_address_list($headers['Bcc'], null, true, $headers['charset']) + (isset($headers['To'])) ? $IMAP->decode_address_list($headers['To'], null, true, (isset($headers['charset'])) ? $headers['charset'] : null) : [], + (isset($headers['Cc'])) ? $IMAP->decode_address_list($headers['Cc'], null, true, (isset($headers['charset'])) ? $headers['charset'] : null) : [], + (isset($headers['Bcc'])) ? $IMAP->decode_address_list($headers['Bcc'], null, true, (isset($headers['charset'])) ? $headers['charset'] : null) : [] ); } else { $all_recipients = array_merge( - rcube_mime::decode_address_list($headers['To'], null, true, $headers['charset']), - rcube_mime::decode_address_list($headers['Cc'], null, true, $headers['charset']), - rcube_mime::decode_address_list($headers['Bcc'], null, true, $headers['charset']) + (isset($headers['To'])) ? rcube_mime::decode_address_list($headers['To'], null, true, (isset($headers['charset'])) ? $headers['charset'] : null) : [], + (isset($headers['Cc'])) ? rcube_mime::decode_address_list($headers['Cc'], null, true, (isset($headers['charset'])) ? $headers['charset'] : null) : [], + (isset($headers['Bcc'])) ? rcube_mime::decode_address_list($headers['Bcc'], null, true, (isset($headers['charset'])) ? $headers['charset'] : null) : [] ); } @@ -284,7 +284,7 @@ if ($args['source'] !== $this->abook_id) { foreach (array('email:home', 'email:work', 'email:other') as $email_field) { // Would trigger a warning with rc 0.5 without this if - if ($args['record'][$email_field]) { + if (!empty($args['record'][$email_field])) { foreach ($args['record'][$email_field] as $email) { $contact_emails[] = $email; }