if ($arMailF['MAILBOX_TYPE'] == 'smtp') { $arFields["EMAIL_GROUP"] = ''; $domains = preg_split("/[\r\n]+/", $arMailF['DOMAINS'], -1, PREG_SPLIT_NO_EMPTY); if (count($domains) > 0) { $arFields["EMAIL"] = $arFields["EMAIL"] . "@" . $_POST['EMAIL_DOMAIN']; } } $arFields["MAIL_FILTER_ID"] = $_POST["EMAIL_FORUM_MAILBOX"]; if (CForumEMail::Set($arFields) > 0) { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_TOPIC_LIST"], array("FID" => $arParams["FID"], "UID" => $arParams["USER_ID"], "GID" => $arParams["SOCNET_GROUP_ID"]))); } } } else { if ($_POST["EMAIL_FORUM_MAILBOX"] == "!") { $arMailboxFields = array("LID" => SITE_ID, "SERVER_TYPE" => "pop3", "ACTIVE" => "Y", "NAME" => $_POST["EMAIL_FORUM_MAILBOX_NAME"], "SERVER" => $_POST["EMAIL_FORUM_MAILBOX_SERVER"], "PORT" => $_POST["EMAIL_FORUM_MAILBOX_PORT"], "LOGIN" => $_POST["EMAIL_FORUM_MAILBOX_LOGIN"], "PASSWORD" => $_POST["EMAIL_FORUM_MAILBOX_PASSWORD"], "USE_TLS" => $_POST["EMAIL_FORUM_MAILBOX_SSL"], "DELETE_MESSAGES" => $_POST["EMAIL_FORUM_MAILBOX_DELETE_MESSAGES"], "PERIOD_CHECK" => 5); $MAILBOX_ID = CMailBox::Add($arMailboxFields); } elseif (substr($_POST["EMAIL_FORUM_MAILBOX"], 0, 1) == 'M') { $MAILBOX_ID = substr($_POST["EMAIL_FORUM_MAILBOX"], 1); $dbrMailF = CMailBox::GetById($MAILBOX_ID); if (($arMailF = $dbrMailF->GetNext()) && $arMailF['SERVER_TYPE'] == 'smtp') { $arFields["EMAIL_GROUP"] = ''; $domains = preg_split("/[\r\n]+/", $arMailF['DOMAINS'], -1, PREG_SPLIT_NO_EMPTY); if (count($domains) > 0) { $arFields["EMAIL"] = $arFields["EMAIL"] . "@" . $_POST['EMAIL_DOMAIN']; } } else { $MAILBOX_ID = 0; } } if ($MAILBOX_ID > 0) { $arMailFilterFields = array("MAILBOX_ID" => $MAILBOX_ID, "NAME" => GetMessage("SOCNET_FORUM_TL_EMAIL_RULE"), "ACTION_TYPE" => "forumsocnet", "ACTION_VARS" => "", "WHEN_MAIL_RECEIVED" => "Y", "WHEN_MANUALLY_RUN" => "Y");
} $email = $emailLocalPart . '@' . $domain; // Don't change SMTP mail box } } } else { // Check email settings (only POP3 mail boxes is allowed) if ($email === '') { $errorMsg = GetMessage('CRM_ERROR_POP3_MAIL_NOT_DEFINED'); } else { // Override mail box name and server type $arMailBoxData['NAME'] = $email; $arMailBoxData['SERVER_TYPE'] = 'pop3'; //$arMailBoxData['PERIOD_CHECK'] = 5; $mailBoxEntity = new CMailBox(false); $mailBoxID = intval($mailBoxEntity->Add($arMailBoxData)); if ($mailBoxID <= 0) { $ex = $GLOBALS['APPLICATION']->GetException(); $errorMsg = $ex->GetString(); $GLOBALS['APPLICATION']->ResetException(); } else { $rsMailBox = CMailBox::GetById($mailBoxID); $arMailBox = $rsMailBox->Fetch(); } } } if ($mailBoxID > 0 && $errorMsg === '') { $arMailFilterData = array('MAILBOX_ID' => $mailBoxID, 'NAME' => GetMessage('CRM_SS_RULE'), 'ACTION_TYPE' => 'crm', 'ACTION_VARS' => 'W_CRM_ENTITY_REGEXP_LEAD=' . urlencode($arRegexpData['LEAD']) . '&W_CRM_ENTITY_REGEXP_COMPANY=' . urlencode($arRegexpData['COMPANY']) . '&W_CRM_ENTITY_REGEXP_CONTACT=' . urlencode($arRegexpData['CONTACT']) . '&W_CRM_ENTITY_REGEXP_DEAL=' . urlencode($arRegexpData['DEAL']), 'WHEN_MAIL_RECEIVED' => 'Y', 'WHEN_MANUALLY_RUN' => 'Y', 'REGEXP_LEAD' => $arRegexpData['LEAD'], 'REGEXP_COMPANY' => $arRegexpData['COMPANY'], 'REGEXP_CONTACT' => $arRegexpData['CONTACT'], 'REGEXP_DEAL' => $arRegexpData['DEAL']); if (IsModuleInstalled('bitrix24')) { $arMailFilterData['ACTION_DELETE_MESSAGE'] = 'Y'; $arMailFilterData['ACTION_STOP_EXEC'] = 'Y';