/** * Generate CC or BCC recipients from comma separated string * * @param string $strRecipients * @param array $arrTokens * * @return array */ public static function compileRecipients($strRecipients, $arrTokens) { // Replaces tokens first so that tokens can contain a list of recipients. $strRecipients = \Haste\Util\StringUtil::recursiveReplaceTokensAndTags($strRecipients, $arrTokens, static::NO_TAGS | static::NO_BREAKS); $arrRecipients = array(); foreach ((array) trimsplit(',', $strRecipients) as $strAddress) { if ($strAddress != '') { list($strName, $strEmail) = \String::splitFriendlyEmail($strAddress); // Address could become empty through invalid insert tag if ($strAddress == '' || !\Validator::isEmail($strEmail)) { continue; } $arrRecipients[] = $strAddress; } } return $arrRecipients; }