/** * @param string $email * @param array $mailingList * @param string $siteId * @return void * //send email with url to confirmation of subscription */ public static function sendEventConfirm($email, array $mailingIdList, $siteId) { $mailingNameList = array(); $mailingDb = MailingTable::getList(array('select' => array('NAME'), 'filter' => array('ID' => $mailingIdList))); while ($mailing = $mailingDb->fetch()) { $mailingNameList[] = $mailing['NAME']; } $subscription = array('EMAIL' => $email, 'SITE_ID' => $siteId, 'MAILING_LIST' => $mailingIdList); $confirmUrl = static::getLinkSub($subscription); $date = new \Bitrix\Main\Type\DateTime(); $eventSendFields = array("EVENT_NAME" => "SENDER_SUBSCRIBE_CONFIRM", "C_FIELDS" => array("EMAIL" => $email, "DATE" => $date->toString(), "CONFIRM_URL" => $confirmUrl, "MAILING_LIST" => implode("\r\n", $mailingNameList)), "LID" => is_array($siteId) ? implode(",", $siteId) : $siteId); \Bitrix\Main\Mail\Event::send($eventSendFields); }
} $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()), array("counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0"))); $lAdmin->AddGroupActionTable(array("delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"))); $aContext = array(array("TEXT" => GetMessage("SENDER_CONTACT_LIST_BUTTON_ADD"), "TITLE" => GetMessage("POST_ADD_TITLE"), "ICON" => "btn_new", "MENU" => array(array("TEXT" => GetMessage("SENDER_CONTACT_LIST_BUTTON_ADD_FORM"), "ACTION" => $lAdmin->ActionRedirect("sender_contact_edit.php?lang=" . LANGUAGE_ID)), array("TEXT" => GetMessage("SENDER_CONTACT_LIST_BUTTON_ADD_LIST"), "ACTION" => $lAdmin->ActionRedirect("sender_contact_import.php?lang=" . LANGUAGE_ID)), array("TEXT" => GetMessage("SENDER_CONTACT_LIST_BUTTON_ADD_FILE"), "ACTION" => $lAdmin->ActionRedirect("sender_contact_import.php?lang=" . LANGUAGE_ID)), $POST_RIGHT >= "W" ? array("TEXT" => GetMessage("SENDER_CONTACT_LIST_BUTTON_ADD_PULL1"), "ACTION" => $lAdmin->ActionRedirect("sender_contact_admin.php?action=pull&lang=" . LANGUAGE_ID)) : null))); $aContext[] = array("TEXT" => GetMessage("SENDER_CONTACT_LIST_EDIT"), "LINK" => "/bitrix/admin/sender_list_admin.php?lang=" . LANG, "TITLE" => GetMessage("SENDER_CONTACT_LIST_EDIT_TITLE"), "ICON" => ""); $lAdmin->AddAdminContextMenu($aContext); $lAdmin->CheckListMode(); $APPLICATION->SetTitle(GetMessage("rub_title")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; $oFilter = new CAdminFilter($sTableID . "_filter", array(GetMessage("rub_f_name"), GetMessage("rub_f_email"), GetMessage("rub_f_subscribed"), GetMessage("rub_f_unsubscribed"), GetMessage("rub_f_list"))); $oFilter->SetDefaultRows(array("find_email", "find_list")); $oFilter->AddPreset(array("ID" => "subscribed_list", "NAME" => GetMessage('SENDER_CONTACT_LIST_PRESET_SUB'), "FIELDS" => array("find_email" => "", "find_subscribed" => "ALL"))); $oFilter->AddPreset(array("ID" => "unsubscribed_list", "NAME" => GetMessage('SENDER_CONTACT_LIST_PRESET_UN_SUB'), "FIELDS" => array("find_email" => "", "find_unsubscribed" => "ALL"))); $filterMailingSubList = array('reference' => array(GetMessage('rub_f_yes')), 'reference_id' => array('ALL')); $filterMailingUnSubList = array('reference' => array(GetMessage('rub_f_yes')), 'reference_id' => array('ALL')); $mailingDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('IS_TRIGGER', 'REFERENCE' => 'NAME', 'REFERENCE_ID' => 'ID'))); while ($arMailing = $mailingDb->fetch()) { if ($arMailing['IS_TRIGGER'] != 'Y') { $filterMailingSubList['reference'][] = $arMailing['REFERENCE']; $filterMailingSubList['reference_id'][] = $arMailing['REFERENCE_ID']; } $filterMailingUnSubList['reference'][] = $arMailing['REFERENCE']; $filterMailingUnSubList['reference_id'][] = $arMailing['REFERENCE_ID']; } ?> <form name="find_form" method="get" action="<?php echo $APPLICATION->GetCurPage(); ?> "> <?php $oFilter->Begin();
<form name="find_form" method="get" action="<?php echo $APPLICATION->GetCurPage(); ?> "> <?php $oFilter->Begin(); ?> <tr> <td><?php echo GetMessage("sender_stat_flt_mailing"); ?> :</td> <td> <?php $arr = array(); $mailingDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('REFERENCE' => 'NAME', 'REFERENCE_ID' => 'ID'), 'filter' => $arMailingFilter)); while ($arMailing = $mailingDb->fetch()) { $arr['reference'][] = $arMailing['REFERENCE']; $arr['reference_id'][] = $arMailing['REFERENCE_ID']; } echo SelectBoxFromArray("find_mailing_id", $arr, $MAILING_ID, false, ""); ?> </td> </tr> <?php if ($MAILING_ID > 0) { ?> <tr> <td><?php echo GetMessage("sender_stat_flt_mailing_chain");
case "activate": case "deactivate": $arFields["ACTIVE"] = $_REQUEST['action'] == "activate" ? "Y" : "N"; $dataUpdateDb = \Bitrix\Sender\MailingTable::update($dataPrimary, $arFields); if (!$dataUpdateDb->isSuccess()) { $LAST_ERROR = $dataUpdateDb->getErrorMessages(); $LAST_ERROR = $LAST_ERROR[0]; $lAdmin->AddGroupError(GetMessage("rub_save_error") . $LAST_ERROR, $ID); } break; } } } // runtime: RECIPIENT_CNT = include_cnt = group_cnt * (exclude_int) $arFilter['IS_TRIGGER'] = 'N'; $groupListDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('ID', 'NAME', 'SORT', 'DATE_INSERT', 'ACTIVE', 'IS_PUBLIC', 'SITE_ID', 'RECIPIENT_CNT'), 'filter' => $arFilter, 'runtime' => array(new \Bitrix\Main\Entity\ExpressionField('RECIPIENT_CNT', 'SUM(%2$s*(%1$s))', array('MAILING_GROUP.INCLUDE', 'MAILING_GROUP.GROUP.ADDRESS_COUNT'))), 'order' => array($by => $order))); $rsData = new CAdminResult($groupListDb, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("rub_nav"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "ID", "align" => "right", "default" => true), array("id" => "NAME", "content" => GetMessage("rub_name"), "sort" => "NAME", "default" => true), array("id" => "SORT", "content" => GetMessage("rub_sort"), "sort" => "SORT", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("rub_act"), "sort" => "ACTIVE", "default" => true), array("id" => "SITE_ID", "content" => GetMessage("rub_site"), "sort" => "SITE_ID", "default" => true), array("id" => "IS_PUBLIC", "content" => GetMessage("rub_f_is_public"), "sort" => "IS_PUBLIC", "default" => false), array("id" => "RECIPIENT_CNT", "content" => GetMessage("rub_f_recipient_cnt"), "sort" => "RECIPIENT_CNT", "default" => true))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $row->AddInputField("NAME", array("size" => 20)); $row->AddViewField("NAME", '<a href="sender_mailing_edit.php?ID=' . $f_ID . '&lang=' . LANG . '">' . $f_NAME . '</a>'); $row->AddInputField("SORT", array("size" => 6)); $row->AddCheckField("ACTIVE"); $row->AddCheckField("IS_PUBLIC"); $row->AddViewField("RECIPIENT_CNT", '<a href="sender_mailing_recipient_admin.php?MAILING_ID=' . $f_ID . '&lang=' . LANG . '">' . $f_RECIPIENT_CNT . '</a>'); $arActions = array(); $arActions[] = array("ICON" => "edit", "DEFAULT" => true, "TEXT" => GetMessage("rub_edit"), "ACTION" => $lAdmin->ActionRedirect("sender_mailing_edit.php?ID=" . $f_ID)); if ($POST_RIGHT >= "W") {
if ($MAILING_TYPE == 'NEW') { $step = 'mailing_group'; } else { $step = 'chain'; } $isPostedFormProcessed = true; LocalRedirect('sender_mailing_wizard.php?step=' . $step . '&MAILING_ID=' . $MAILING_ID . "&lang=" . LANGUAGE_ID); } else { $DB->InitTableVarsForEdit("b_sender_mailing", "", "str_"); } } else { $str_ACTIVE = 'Y'; $str_SORT = 100; } $arMailingList = array(); $groupDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('NAME', 'ID'), 'order' => array('NAME' => 'ASC'))); while ($arMailing = $groupDb->fetch()) { $arMailingList[] = $arMailing; } if (empty($arMailingList)) { $MAILING_TYPE = 'NEW'; } } if ($step == 'group') { IncludeModuleLangFile(dirname(__FILE__) . "/group_edit.php"); if (!isset($group_create) && $REQUEST_METHOD == "POST" && !$isPostedFormProcessed && check_bitrix_sessid()) { $res = false; $NAME = trim($NAME); if (isset($popup_create_group) && $popup_create_group == 'Y') { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_js.php"; $NAME = $APPLICATION->ConvertCharset($NAME, "UTF-8", LANG_CHARSET);
</div> </div> </div> <?php return ob_get_clean(); } $personalizeList = \Bitrix\Sender\MailingTable::getChainPersonalizeList($ID); if ($_REQUEST["action"] == "get_vr" && check_bitrix_sessid()) { $letterTemplate = array('BODY' => getSenderItemContainer($ID), 'FIELDS' => array('MESSAGE' => \Bitrix\Sender\TemplateTable::initEditor(array('FIELD_NAME' => 'SENDER_LETTER_TEMPLATE_MESSAGE', 'FIELD_VALUE' => '', 'HAVE_USER_ACCESS' => !$isUserHavePhpAccess, 'SHOW_SAVE_TEMPLATE' => false, 'PERSONALIZE_LIST' => $personalizeList)))); echo CUtil::PhpToJSObject($letterTemplate); exit; } if (!is_array($CHAIN)) { $CHAIN = array(); } $mailingDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('ID', 'NAME', 'EMAIL_FROM', 'ACTIVE', 'TRIGGER_FIELDS'), 'filter' => array('=IS_TRIGGER' => 'Y', '=ID' => $ID))); if (!($mailing = $mailingDb->fetch())) { require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; ShowError(\Bitrix\Main\Localization\Loc::getMessage("SENDER_MAILING_TRIG_ERROR_NOT_FOUND")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; exit; } $errorList = array(); $chainFieldsList = array(); if (in_array($_REQUEST["action"], array('activate', 'deactivate')) && check_bitrix_sessid() && $POST_RIGHT >= "W") { $fields = array(); if ($_REQUEST["action"] == 'activate') { $fields['ACTIVE'] = 'Y'; } else { $fields['ACTIVE'] = 'N'; }
"more_url" => array("sender_contact_import.php"), "title" => GetMessage("mnu_sender_contact_admin_alt") ), array( "text" => GetMessage("mnu_sender_template_admin"), "url" => "sender_template_admin.php?lang=".LANGUAGE_ID, "more_url" => array("sender_template_edit.php"), "title" => GetMessage("mnu_sender_template_admin_alt") ), ) ); $arSiteMailing = array(); if(CModule::IncludeModule('sender')) { $mailingListDb = \Bitrix\Sender\MailingTable::getList(array('filter' => array())); while ($mailing = $mailingListDb->fetch()) { $arSiteMailing[] = array( "text" => htmlspecialcharsbx($mailing['NAME']), "title" => GetMessage("mnu_sender_site_mailing_one_alt"), "items_id" => "menu_sender_mailing_" . $mailing['ID'], "items" => array( array( "text" => GetMessage("mnu_sender_site_mailing_chain"), "url" => "sender_mailing_chain_admin.php?MAILING_ID=" . $mailing['ID'] . "&lang=" . LANGUAGE_ID, "title" => GetMessage("mnu_sender_site_mailing_chain_alt"), "more_url" => array("sender_mailing_chain_edit.php?MAILING_ID=" . $mailing['ID']), ), array( "text" => GetMessage("mnu_sender_site_mailing_stat"),
public static function getChainPersonalizeList($id) { $result = array(); $mailingDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('ID', 'TRIGGER_FIELDS'), 'filter' => array('=IS_TRIGGER' => 'Y', '=ID' => $id))); if (!($mailing = $mailingDb->fetch())) { return $result; } $triggerFields = $mailing['TRIGGER_FIELDS']; if (!is_array($triggerFields)) { $triggerFields = array(); } $settingsList = array(); foreach ($triggerFields as $key => $point) { if (empty($point['CODE'])) { continue; } $point['IS_EVENT_OCCUR'] = true; $point['IS_PREVENT_EMAIL'] = false; $point['SEND_INTERVAL_UNIT'] = 'M'; switch ($key) { case 'END': $point['IS_TYPE_START'] = false; break; case 'START': default: $point['IS_TYPE_START'] = true; } $settingsList[] = new \Bitrix\Sender\TriggerSettings($point); } foreach ($settingsList as $settings) { /* @var \Bitrix\Sender\TriggerSettings $settings */ if (!$settings->isTypeStart()) { continue; } $trigger = \Bitrix\Sender\TriggerManager::getOnce($settings->getEndpoint()); if ($trigger) { $result = array_merge($result, $trigger->getPersonalizeList()); } } return $result; }
if (!$dataUpdateDb->isSuccess()) { $LAST_ERROR = $dataUpdateDb->getErrorMessages(); $LAST_ERROR = $LAST_ERROR[0]; $lAdmin->AddGroupError(GetMessage("rub_save_error") . " " . $LAST_ERROR, $ID); $DB->Rollback(); } } else { $lAdmin->AddGroupError(GetMessage("rub_save_error") . " " . GetMessage("rub_no_rubric"), $ID); $DB->Rollback(); } $DB->Commit(); } } if (($arID = $lAdmin->GroupAction()) && $POST_RIGHT == "W") { if ($_REQUEST['action_target'] == 'selected') { $dataListDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('ID'), 'filter' => $arFilter, 'order' => array($by => $order))); while ($arRes = $dataListDb->fetch()) { $arID[] = $arRes['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } $ID = IntVal($ID); $dataPrimary = array('ID' => $ID); switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); $dataDeleteDb = \Bitrix\Sender\TemplateTable::delete($dataPrimary);
/** * @return string * @throws \Bitrix\Main\ArgumentException */ public function getForm() { $mailingInput = '<select name="' . $this->getFieldName('MAILING_ID') . '">'; $mailingDb = MailingTable::getList(array('select' => array('ID', 'NAME'), 'order' => array('NAME' => 'ASC', 'ID' => 'DESC'))); while ($mailing = $mailingDb->fetch()) { $inputSelected = $mailing['ID'] == $this->getFieldValue('MAILING_ID') ? 'selected' : ''; $mailingInput .= '<option value="' . $mailing['ID'] . '" ' . $inputSelected . '>'; $mailingInput .= htmlspecialcharsbx($mailing['NAME']); $mailingInput .= '</option>'; } $mailingInput .= '</select>'; $arBooleanValues = array('' => Loc::getMessage('sender_connector_recipient_all'), 'Y' => Loc::getMessage('sender_connector_recipient_y'), 'N' => Loc::getMessage('sender_connector_recipient_n')); $sentInput = '<select name="' . $this->getFieldName('SEND') . '">'; foreach ($arBooleanValues as $k => $v) { $inputSelected = $k == $this->getFieldValue('SEND') ? 'selected' : ''; $sentInput .= '<option value="' . $k . '" ' . $inputSelected . '>'; $sentInput .= htmlspecialcharsbx($v); $sentInput .= '</option>'; } $sentInput .= '</select>'; $readInput = '<select name="' . $this->getFieldName('READ') . '">'; foreach ($arBooleanValues as $k => $v) { $inputSelected = $k == $this->getFieldValue('READ') ? 'selected' : ''; $readInput .= '<option value="' . $k . '" ' . $inputSelected . '>'; $readInput .= htmlspecialcharsbx($v); $readInput .= '</option>'; } $readInput .= '</select>'; $clickInput = '<select name="' . $this->getFieldName('CLICK') . '">'; foreach ($arBooleanValues as $k => $v) { $inputSelected = $k == $this->getFieldValue('CLICK') ? 'selected' : ''; $clickInput .= '<option value="' . $k . '" ' . $inputSelected . '>'; $clickInput .= htmlspecialcharsbx($v); $clickInput .= '</option>'; } $clickInput .= '</select>'; $unsubInput = '<select name="' . $this->getFieldName('UNSUB') . '">'; foreach ($arBooleanValues as $k => $v) { $inputSelected = $k == $this->getFieldValue('UNSUB') ? 'selected' : ''; $unsubInput .= '<option value="' . $k . '" ' . $inputSelected . '>'; $unsubInput .= htmlspecialcharsbx($v); $unsubInput .= '</option>'; } $unsubInput .= '</select>'; return ' <table> <tr> <td>' . Loc::getMessage('sender_connector_recipient_mailing') . '</td> <td>' . $mailingInput . '</td> </tr> <tr> <td>' . Loc::getMessage('sender_connector_recipient_sent') . '</td> <td>' . $sentInput . '</td> </tr> <tr> <td>' . Loc::getMessage('sender_connector_recipient_read') . '</td> <td>' . $readInput . '</td> </tr> <tr> <td>' . Loc::getMessage('sender_connector_recipient_click') . '</td> <td>' . $clickInput . '</td> </tr> <tr> <td>' . Loc::getMessage('sender_connector_recipient_unsub') . '</td> <td>' . $unsubInput . '</td> </tr> </table> '; }
case "activate": case "deactivate": $arFields["ACTIVE"] = $_REQUEST['action'] == "activate" ? "Y" : "N"; $dataUpdateDb = \Bitrix\Sender\MailingTable::update($dataPrimary, $arFields); if (!$dataUpdateDb->isSuccess()) { $LAST_ERROR = $dataUpdateDb->getErrorMessages(); $LAST_ERROR = $LAST_ERROR[0]; $lAdmin->AddGroupError(GetMessage("rub_save_error") . $LAST_ERROR, $ID); } break; } } } // runtime: RECIPIENT_CNT = include_cnt - exclude_cnt = group_cnt * (2*exclude_int - 1) $arFilter['IS_TRIGGER'] = 'Y'; $groupListDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('ID', 'NAME', 'SORT', 'DATE_INSERT', 'ACTIVE', 'SITE_ID'), 'filter' => $arFilter, 'order' => array($by => $order))); $rsData = new CAdminResult($groupListDb, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("rub_nav"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "ID", "align" => "right", "default" => true), array("id" => "NAME", "content" => GetMessage("rub_name"), "sort" => "NAME", "default" => true), array("id" => "SORT", "content" => GetMessage("rub_sort"), "sort" => "SORT", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("rub_act"), "sort" => "ACTIVE", "default" => true), array("id" => "SITE_ID", "content" => GetMessage("rub_site"), "sort" => "SITE_ID", "default" => true))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $row->AddInputField("NAME", array("size" => 20)); $row->AddViewField("NAME", '<a href="sender_mailing_wizard.php?step=trig_mailing&IS_TRIGGER=Y&MAILING_ID=' . $f_ID . '&lang=' . LANGUAGE_ID . '">' . $f_NAME . '</a>'); $row->AddInputField("SORT", array("size" => 6)); $row->AddCheckField("ACTIVE"); $row->AddCheckField("IS_PUBLIC"); $row->AddViewField("RECIPIENT_CNT", '<a href="sender_mailing_recipient_admin.php?MAILING_ID=' . $f_ID . '&lang=' . LANG . '">' . $f_RECIPIENT_CNT . '</a>'); $arActions = array(); $arActions[] = array("ICON" => "edit", "DEFAULT" => true, "TEXT" => GetMessage("rub_edit"), "ACTION" => $lAdmin->ActionRedirect("sender_mailing_wizard.php?step=trig_mailing&IS_TRIGGER=Y&MAILING_ID=" . $f_ID . "&lang=" . LANGUAGE_ID)); if ($POST_RIGHT >= "W") {
/** * @param $arData * @return bool * @throws \Bitrix\Main\ArgumentException */ public static function unsubscribe($arData) { $result = false; if (isset($arData['TEST']) && $arData['TEST'] == 'Y') { return true; } $postingDb = PostingRecipientTable::getList(array('select' => array('POSTING_ID', 'POSTING_MAILING_ID' => 'POSTING.MAILING_ID'), 'filter' => array('ID' => $arData['RECIPIENT_ID'], 'EMAIL' => $arData['EMAIL']))); $arPosting = $postingDb->fetch(); $mailingDb = MailingTable::getList(array('select' => array('ID'), 'filter' => array('ID' => $arData['UNSUBSCRIBE_LIST']))); while ($mailing = $mailingDb->fetch()) { $unsub = null; if ($arPosting && $arPosting['POSTING_MAILING_ID'] == $mailing['ID']) { $unsub = array('POSTING_ID' => $arPosting['POSTING_ID'], 'RECIPIENT_ID' => $arData['RECIPIENT_ID']); } else { $mailingPostingDb = PostingRecipientTable::getList(array('select' => array('RECIPIENT_ID' => 'ID', 'POSTING_ID'), 'filter' => array('POSTING.MAILING_ID' => $mailing['ID'], 'EMAIL' => $arData['EMAIL']))); if ($arMailingPosting = $mailingPostingDb->fetch()) { $unsub = $arMailingPosting; } } if (!empty($unsub)) { $unsubExists = PostingUnsubTable::getRowById($unsub); if (!$unsubExists) { PostingUnsubTable::add($unsub); } $result = true; } } return $result; }
} if ($ID > 0) { $postingDb = \Bitrix\Sender\PostingTable::getList(array('select' => array('*'), 'filter' => array('MAILING_CHAIN_ID' => $ID, '!DATE_SENT' => null), 'order' => array('DATE_SENT' => 'DESC'), 'limit' => 1)); $arPosting = $postingDb->fetch(); $str_DATE_SENT = $arPosting['DATE_SENT']; $attachmentFileDb = \Bitrix\Sender\MailingAttachmentTable::getList(array('select' => array('FILE_ID'), 'filter' => array('CHAIN_ID' => $ID))); while ($ar = $attachmentFileDb->fetch()) { if ($arFileFetch = CFile::GetFileArray($ar['FILE_ID'])) { $arMailngChainAttachment[] = $arFileFetch; } } } } $chainCharset = ''; if ($MAILING_ID > 0) { $mailingSiteDb = \Bitrix\Sender\MailingTable::getList(array('select' => array('SITE_ID'), 'filter' => array('ID' => $MAILING_ID))); if ($mailingSite = $mailingSiteDb->fetch()) { $mailingSiteCharsetDb = \Bitrix\Main\SiteTable::getList(array('select' => array('CULTURE_CHARSET' => 'CULTURE.CHARSET'), 'filter' => array('LID' => $mailingSite['SITE_ID']))); if ($mailingSiteCharset = $mailingSiteCharsetDb->fetch()) { $chainCharset = $mailingSiteCharset['CULTURE_CHARSET']; } } } if ($bVarsFromForm) { $DB->InitTableVarsForEdit("b_sender_mailing_chain", "", "str_"); } \CJSCore::Init(array("sender_admin")); $APPLICATION->SetTitle($ID > 0 ? GetMessage("sender_chain_edit_title_edit") . $ID : GetMessage("sender_chain_edit_title_add")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; $aMenu = array(array("TEXT" => GetMessage("sender_chain_edit_list"), "TITLE" => GetMessage("sender_chain_edit_list_title"), "LINK" => "/bitrix/admin/sender_mailing_chain_admin.php?MAILING_ID=" . $MAILING_ID . "&lang=" . LANG, "ICON" => "btn_list")); if ($ID > 0 && $POST_RIGHT >= "W") {
} else { $DB->InitTableVarsForEdit("b_sender_mailing", "", "str_"); } } else { $str_ACTIVE = 'Y'; $str_SORT = 100; } $arMailingList = array(); $groupDb = \Bitrix\Sender\MailingTable::getList(array( 'select' => array('NAME', 'ID'), 'filter' => array('IS_TRIGGER' => 'N'), 'order' => array('NAME' => 'ASC'), )); while($arMailing = $groupDb->fetch()) { $arMailingList[] = $arMailing; } if(empty($arMailingList)) $MAILING_TYPE = 'NEW'; } if($step=='group') { IncludeModuleLangFile(dirname(__FILE__)."/group_edit.php"); if(!isset($group_create) && $REQUEST_METHOD == "POST" && !$isPostedFormProcessed && check_bitrix_sessid()) {