Index: branches/5.2.x/core/units/mailing_lists/mailing_list_tp.php =================================================================== diff -u -N -r14244 -r14870 --- branches/5.2.x/core/units/mailing_lists/mailing_list_tp.php (.../mailing_list_tp.php) (revision 14244) +++ branches/5.2.x/core/units/mailing_lists/mailing_list_tp.php (.../mailing_list_tp.php) (revision 14870) @@ -1,6 +1,6 @@ getObject($params); /* @var $object kDBItem */ - $recipients = explode(';', $object->GetDBField('To')); - - // 1. group recipients by types - $recipients_grouped = Array (); - foreach ($recipients as $recipient) { - if (strpos($recipient, '_') !== false) { - list ($recipient_type, $recipient_id) = explode('_', $recipient); - } - else { - $recipient_type = 'direct'; - $recipient_id = $recipient; - } - - if (!array_key_exists($recipient_type, $recipients_grouped)) { - $recipients_grouped[$recipient_type] = Array (); - } - - $recipients_grouped[$recipient_type][] = $recipient_id; - } - $mailing_list_helper =& $this->Application->recallObject('MailingListHelper'); /* @var $mailing_list_helper MailingListHelper */ // for each group convert ids to names - $recpient_names = Array (); + $recipient_names = Array (); + $recipients_grouped = $mailing_list_helper->groupRecipientsByType(explode(';', $object->GetDBField('To'))); + foreach ($recipients_grouped as $recipient_type => $group_recipients) { - $recpient_names = array_merge($recpient_names, $mailing_list_helper->getRecipientNames($recipient_type, $group_recipients)); + $recipient_names = array_merge($recipient_names, $mailing_list_helper->getRecipientNames($recipient_type, $group_recipients)); } $ret = ''; - $recipient_count = count($recpient_names); + $recipient_count = count($recipient_names); $block_params = $this->prepareTagParams($params); $block_params['name'] = $params['render_as']; - foreach ($recpient_names as $recipient_index => $recipient_name) { + foreach ($recipient_names as $recipient_index => $recipient_name) { $block_params['recipient_name'] = $recipient_name; $block_params['not_last'] = $recipient_index < $recipient_count - 1;