fields as $field) { if (!empty($field->isDisabled)) { continue; } if (in_array($field->typefield, array('multicheckbox', 'select', 'radio', 'multicheckboxsql', 'selectsql', 'radiosql')) && is_string($field->dbValue)) { $dbValues = HTMLHelper::_('visformsselect.explodeMsDbValue', $field->dbValue); foreach ($field->opts as $option) { if (is_array($dbValues) && in_array($option['value'], $dbValues)) { $this->addMailAddress($option['mail'], 'newmailto'); $this->addMailAddress($option['mailcc'], 'newmailcc'); $this->addMailAddress($option['mailbcc'], 'newmailbcc'); } } } } $backendFormParameter = $app->getUserState('com_visforms.backendformparams.' . $form->context); if (!empty($backendFormParameter)) { foreach ($backendFormParameter as $type => $value) { switch ($type) { case 'mail' : $this->addMailAddress($value, 'newmailto'); break; case 'mailcc' : $this->addMailAddress($value, 'newmailcc'); break; case 'mailbcc' : $this->addMailAddress($value, 'newmailbcc'); break; } } } $app->setUserState('com_visforms.backendformparams.' . $form->context, null); if (count($this->newmailto) > 0) { foreach ($this->newmailto as $newmailto) { $mailer->addRecipient($newmailto); } } if (count($this->newmailcc) > 0) { foreach ($this->newmailcc as $newmailcc) { $mailer->addCC($newmailcc); } } if (count($this->newmailbcc) > 0) { foreach ($this->newmailbcc as $newmailbcc) { $mailer->addBCC($newmailbcc); } } return true; } private function addMailAddress($address, $type) { if (empty(StringHelper::trim($address))) { return; } $addressess = explode(',', $address); foreach ($addressess as $mail) { $mail = StringHelper::trim($mail); if (!empty($mail)) { $this->{$type}[] = $mail; } } } }