Ip\Internal\Content\Widget\Form\Controller::sendEmail PHP Метод

sendEmail() публичный Метод

public sendEmail ( Ip\Form $form, array $postData, array $data )
$form Ip\Form
$postData array
$data array
    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();
    }