public function sendEmail($form, $postData, $data)
{
$contentData = array();
$websiteName = ipGetOptionLang('Config.websiteTitle');
$websiteEmail = ipGetOptionLang('Config.websiteEmail');
$from = $websiteEmail;
$files = array();
foreach ($form->getFields() as $field) {
if ($field->getType() == \Ip\Form\Field::TYPE_REGULAR) {
if (!isset($postData[$field->getName()])) {
$postData[$field->getName()] = null;
}
$title = $field->getLabel();
$value = $field->getValueAsString($postData, $field->getName());
$contentData[] = array('fieldClass' => get_class($field), 'title' => $title, 'value' => $value);
}
if (get_class($field) == 'Ip\\Form\\Field\\Email') {
$userFrom = $field->getValueAsString($postData, $field->getName());
if ($userFrom != '') {
$from = $userFrom;
}
}
if (get_class($field) == 'Ip\\Form\\Field\\File') {
$uploadedFiles = $field->getFiles($postData, $field->getName());
$originalNames = $field->originalFileNames($postData, $field->getName());
foreach ($uploadedFiles as $key => $uploadedFile) {
$files[] = array($uploadedFile, $originalNames[$key]);
}
}
}
$content = ipView('helperView/email_content.php', array('values' => $contentData))->render();
$emailData = array('content' => $content);
$email = ipEmailTemplate($emailData);
//get page where this widget sits :)
$fullWidgetRecord = \Ip\Internal\Content\Model::getWidgetRecord($postData['widgetId']);
$pageTitle = '';
if (isset($fullWidgetRecord['revisionId'])) {
$revision = \Ip\Internal\Revision::getRevision($fullWidgetRecord['revisionId']);
if (!empty($revision['pageId'])) {
$pageTitle = ipPage($revision['pageId'])->getTitle();
}
}
$subject = $websiteName . ': ' . $pageTitle;
$emailQueue = new \Ip\Internal\Email\Module();
if (!empty($data['sendTo']) && $data['sendTo'] == 'custom') {
if (empty($data['emails'])) {
$data['emails'] = '';
}
$emailList = preg_split("/[\\s,]+/", $data['emails']);
} else {
$emailList = array($websiteEmail);
}
foreach ($emailList as $listItem) {
$emailQueue->addEmail($from, '', $listItem, '', $subject, $email, false, true, $files);
}
$emailQueue->send();
}