<td> <input type="text" id="SUBJECT" name="SUBJECT" value="<?php echo $str_SUBJECT; ?> " style="width: 450px;"> </td> </tr> <tr class="hidden-when-show-template-list" <?php echo empty($str_MESSAGE) ? 'style="display: none;"' : ''; ?> > <td> </td> <td> <?php $arPersonalizeList = \Bitrix\Sender\PostingRecipientTable::getPersonalizeList(); ?> <?php echo GetMessage("sender_chain_edit_field_subject_personalize"); ?> <?php foreach ($arPersonalizeList as $arPersonalize) { ?> <a class="sender-link-email" onclick="SetAddressToControl('SUBJECT', ' #<?php echo htmlspecialcharsbx($arPersonalize['CODE']); ?> #', true)" title="<?php echo htmlspecialcharsbx($arPersonalize['DESC']); ?> "> <?php
/** * @return array */ public static function getList() { $resultList = array(); $arBlockByType = static::getBlockListByType(); foreach ($arBlockByType as $type => $arBlock) { foreach ($arBlock as $blockName) { $result = static::getById($blockName); if (!empty($result)) { $resultList[] = $result; } } } $resultListPersonal = array(); foreach (\Bitrix\Sender\PostingRecipientTable::getPersonalizeList() as $arPersonalizeBlock) { $resultListPersonal[] = array('TYPE' => Loc::getMessage('TYPE_PRESET_MAILBLOCK_PERSONALISE'), 'CODE' => $arPersonalizeBlock['CODE'], 'NAME' => $arPersonalizeBlock['NAME'], 'DESC' => $arPersonalizeBlock['DESC'], 'ICON' => '', 'HTML' => '#' . $arPersonalizeBlock['CODE'] . '#'); } $resultList = array_merge($resultListPersonal, $resultList); return $resultList; }
function getSenderItemContainer($id, array $chain = array()) { $i = '%SENDER_LETTER_TEMPLATE_BODY_NUM%'; ob_start(); ?> <div class="sender-trigger-chain-container-letter"> <div class="sender-trigger-status-mailing-time"> <?php echo GetMessage("sender_chain_edit_field_time_thr"); ?> <span class="sender_letter_container_time_text">*</span> <?php echo GetMessage("sender_chain_edit_field_time_after"); ?> <span class="sender_letter_container_time_text_first"> <?php echo GetMessage("sender_chain_edit_field_time_event"); ?> </span> <span style="display: none;" class="sender_letter_container_time_text_nonfirst"> <?php echo GetMessage("sender_chain_edit_field_time_letter"); ?> </span> <a id="SENDER_TRIGGER_CHAIN_TIME_BNT_<?php echo $i; ?> " href="javascript: void(0);" class="sender_letter_container_time_button sender-link-email"><?php echo GetMessage("sender_chain_edit_field_time_change"); ?> </a> </div> <div class="sender_letter_container" id="SENDER_TRIGGER_CHAIN_<?php echo $i; ?> "> <input type="hidden" name="CHAIN[<?php echo $i; ?> ][ID]" value="<?php echo htmlspecialcharsbx($chain['ID']); ?> "> <input class="sender_letter_container_sorter" type="hidden" name="CHAIN[<?php echo $i; ?> ][ITEM_SORT]" value="<?php echo $i; ?> "> <input class="sender_letter_container_time" type="hidden" name="CHAIN[<?php echo $i; ?> ][TIME_SHIFT]" value="<?php echo intval($chain['TIME_SHIFT']); ?> "> <div class="sender_letter_container_head"> <div class="sender_letter_container_move"><div class="sender_letter_container_burger"></div></div> <div class="sender_letter_container_sorter_view"> <span class="sender_letter_container_sorter_icon"> <span class="sender_letter_container_sorter_text"><?php echo $i; ?> </span> </span> </div> <h3><span class="sender_letter_container_caption"><?php echo htmlspecialcharsbx($chain['SUBJECT']); ?> </span></h3> <span class="sender_letter_container-info"> <?php if (!empty($chain['ID']) && empty($chain['DATE_INSERT'])) { ?> <span><?php echo GetMessage("sender_chain_edit_field_created_exists_but_not_save"); ?> </span> <?php } elseif (!empty($chain['ID'])) { ?> <span class="sender_letter_container-create"><?php echo GetMessage("sender_chain_edit_field_created"); ?> </span> <span> <?php echo GetMessage("sender_chain_edit_field_created_text", array('%DATE_CREATE%' => htmlspecialcharsbx(is_object($chain['DATE_INSERT']) ? \Bitrix\Main\Type\Date::createFromTimestamp($chain['DATE_INSERT']->getTimestamp()) : $chain['DATE_INSERT']), '%AUTHOR%' => '<a class="sender_letter_container-author" href="/bitrix/admin/user_edit.php?ID=' . htmlspecialcharsbx($chain['CREATED_BY']) . '&lang=' . LANGUAGE_ID . '">' . htmlspecialcharsbx($chain['CREATED_BY_NAME']) . ' ' . htmlspecialcharsbx($chain['CREATED_BY_LAST_NAME']) . '</a>')); ?> </span> <?php } else { ?> <span><?php echo GetMessage("sender_chain_edit_field_created_new"); ?> </span> <?php } ?> </span> <a class="sender_letter_container_button_delete" href="javascript: void(0);" title="<?php echo GetMessage("sender_chain_edit_field_delete"); ?> "></a> <?php if (strlen($chain['SUBJECT']) > 0 && strlen($chain['MESSAGE']) > 0) { ?> <a class="sender_letter_container_button_show" href="javascript: void(0);"> <?php echo GetMessage('SENDER_MAILING_TRIG_LETTER_MESSAGE_SHOW'); ?> </a> <?php } else { ?> <a class="sender_letter_container_button_show sender_letter_container_button_hide" href="javascript: void(0);"> <?php echo GetMessage('SENDER_MAILING_TRIG_LETTER_MESSAGE_HIDE'); ?> </a> <?php } ?> </div> <div class="sender_letter_container_body" <?php echo strlen($chain['SUBJECT']) > 0 && strlen($chain['MESSAGE']) > 0 ? 'style="display:none;"' : ''; ?> > <div class="sender_letter_container_body_tmpl" id="CHAIN_TEMPLATE_NUM_<?php echo $i; ?> " <?php echo strlen($chain['MESSAGE']) > 0 ? 'style="display:none;"' : ''; ?> > <?php echo \Bitrix\Sender\Preset\Template::getTemplateListHtml('SENDER_TRIGGER_CHAIN_' . $i); ?> </div> <div class="sender_letter_container_body_fields" <?php echo strlen($chain['MESSAGE']) > 0 ? '' : 'style="display:none;"'; ?> > <table class="trigger_chain_item"> <tr> <td><?php echo GetMessage("sender_chain_edit_field_sel_templ"); ?> </td> <td> <span class="sender-template-message-caption-container"></span> <a href="javascript:void(0);" class="sender-template-message-caption-container-btn sender-link-email"> <?php echo GetMessage("sender_chain_edit_field_sel_templ_another"); ?> </a> </td> </tr> <tr> <td><?php echo GetMessage("sender_chain_edit_field_subject"); ?> </td> <td> <input class="sender_letter_container_subject" type="text" id="CHAIN_<?php echo $i; ?> _SUBJECT" name="CHAIN[<?php echo $i; ?> ][SUBJECT]" value="<?php echo htmlspecialcharsbx($chain['SUBJECT']); ?> "> </td> </tr> <tr> <td> </td> <td> <?php $arPersonalizeList = \Bitrix\Sender\PostingRecipientTable::getPersonalizeList(); ?> <?php echo GetMessage("sender_chain_edit_field_subject_personalize"); ?> <?php foreach ($arPersonalizeList as $arPersonalize) { ?> <a class="sender-link-email" onclick="SetAddressToControl('CHAIN_<?php echo $i; ?> _SUBJECT', ' #<?php echo htmlspecialcharsbx($arPersonalize['CODE']); ?> #', true)" title="#<?php echo htmlspecialcharsbx($arPersonalize['CODE']); ?> # - <?php echo htmlspecialcharsbx($arPersonalize['DESC']); ?> "> <?php echo htmlspecialcharsbx($arPersonalize['NAME']); ?> </a><?php echo end($arPersonalizeList) === $arPersonalize ? '' : ','; ?> <?php } ?> <span style="cursor: pointer;" class="hidden-when-show-template-list-info" onclick="ShowPersonalizeDescDialog(this);"> </span> </td> </tr> <tr> <td colspan="2"> <b><?php echo GetMessage("sender_chain_edit_field_message"); ?> </b> <br> <br> %SENDER_LETTER_TEMPLATE_MESSAGE% </td> </tr> </table> </div> </div> </div> </div> <?php return ob_get_clean(); }
/** * Init editor * * @param array $params * @return string */ public static function initEditor(array $params) { $fieldName = $params['FIELD_NAME']; $fieldValue = $params['FIELD_VALUE']; $isUserHavePhpAccess = $params['HAVE_USER_ACCESS']; $showSaveTemplate = isset($params['SHOW_SAVE_TEMPLATE']) ? $params['SHOW_SAVE_TEMPLATE'] : true; $site = isset($params['SITE']) ? $params['SITE'] : ''; $charset = isset($params['CHARSET']) ? $params['CHARSET'] : ''; $contentUrl = isset($params['CONTENT_URL']) ? $params['CONTENT_URL'] : ''; $templateTypeInput = isset($params['TEMPLATE_TYPE_INPUT']) ? $params['TEMPLATE_TYPE_INPUT'] : 'TEMPLATE_TYPE'; $templateIdInput = isset($params['TEMPLATE_ID_INPUT']) ? $params['TEMPLATE_ID_INPUT'] : 'TEMPLATE_ID'; $templateType = isset($params['TEMPLATE_TYPE']) ? $params['TEMPLATE_TYPE'] : ''; $templateId = isset($params['TEMPLATE_ID']) ? $params['TEMPLATE_ID'] : ''; $isTemplateMode = isset($params['IS_TEMPLATE_MODE']) ? (bool) $params['IS_TEMPLATE_MODE'] : true; if (!empty($params['PERSONALIZE_LIST']) && is_array($params['PERSONALIZE_LIST'])) { PostingRecipientTable::setPersonalizeList($params['PERSONALIZE_LIST']); } \CJSCore::RegisterExt("editor_mailblock", array("js" => array("/bitrix/js/sender/editor_mailblock.js"), "rel" => array())); \CJSCore::Init(array("editor_mailblock")); static $isInit; $isDisplayBlockEditor = $templateType && $templateId || static::isContentForBlockEditor($fieldValue); $editorHeight = 650; $editorWidth = '100%'; ob_start(); ?> <div id="bx-sender-visual-editor-<?php echo $fieldName; ?> " style="<?php if ($isDisplayBlockEditor) { ?> display: none;<?php } ?> "> <?php if (\Bitrix\Main\Config\Option::get('fileman', 'use_editor_3') == 'Y') { \Bitrix\Main\Loader::includeModule('fileman'); ?> <script> BX.ready(function(){ <?php if (!$isInit) { $isInit = true; ?> var letterManager = new SenderLetterManager; letterManager.setMailBlockList(<?php echo \CUtil::PhpToJSObject(\Bitrix\Sender\Preset\MailBlock::getBlockForVisualEditor()); ?> ); letterManager.setPlaceHolderList(<?php echo \CUtil::PhpToJSObject(\Bitrix\Sender\PostingRecipientTable::getPersonalizeList()); ?> ); <?php } ?> }); BX.message({ "BXEdMailBlocksTitle" : "<?php echo Loc::getMessage('SENDER_TEMPLATE_EDITOR_MAILBLOCK'); ?> ", "BXEdMailBlocksSearchPlaceHolder" : "<?php echo Loc::getMessage('SENDER_TEMPLATE_EDITOR_MAILBLOCK_SEARCH'); ?> ", "BXEdPlaceHolderSelectorTitle" : "<?php echo Loc::getMessage('SENDER_TEMPLATE_EDITOR_PLACEHOLDER'); ?> " }); </script> <?php \CFileMan::AddHTMLEditorFrame($fieldName, $fieldValue, false, "text", array('height' => $editorHeight, 'width' => $editorWidth), "N", 0, "", "onfocus=\"t=this\"", false, !$isUserHavePhpAccess, false, array('componentFilter' => array('TYPE' => 'mail'), 'limit_php_access' => !$isUserHavePhpAccess)); ?> <?php } else { $fieldValue = htmlspecialcharsback($fieldValue); ?> <br> <?php echo Loc::getMessage("SENDER_ENTITY_TEMPLATE_NOTE_OLD_EDITOR", array("%LINK_START%" => '<a href="/bitrix/admin/settings.php?mid=fileman&lang=' . LANGUAGE_ID . '">', "%LINK_END%" => '</a>')); ?> <br> <br> <textarea class="typearea" style="width:<?php echo $editorWidth; ?> ;height:<?php echo $editorHeight; ?> px;" name="<?php echo $fieldName; ?> " id="bxed_<?php echo $fieldName; ?> " wrap="virtual"><?php echo htmlspecialcharsbx($fieldValue); ?> </textarea> <?php } ?> </div> <div id="bx-sender-block-editor-<?php echo $fieldName; ?> " style="<?php if (!$isDisplayBlockEditor) { ?> display: none;<?php } ?> "> <br/> <input type="hidden" name="<?php echo htmlspecialcharsbx($templateTypeInput); ?> " value="<?php echo htmlspecialcharsbx($templateType); ?> " /> <input type="hidden" name="<?php echo htmlspecialcharsbx($templateIdInput); ?> " value="<?php echo htmlspecialcharsbx($templateId); ?> " /> <?php $url = ''; if ($isDisplayBlockEditor) { if ($templateType && $templateId) { $url = '/bitrix/admin/sender_template_admin.php?'; $url .= 'action=get_template&template_type=' . $templateType . '&template_id=' . $templateId; $url .= '&lang=' . LANGUAGE_ID . '&' . bitrix_sessid_get(); } else { $url = $contentUrl; } } echo \Bitrix\Fileman\Block\EditorMail::show(array('id' => $fieldName, 'charset' => $charset, 'site' => $site, 'own_result_id' => 'bxed_' . $fieldName, 'url' => $url, 'templateType' => $templateType, 'templateId' => $templateId, 'isTemplateMode' => $isTemplateMode, 'isUserHavePhpAccess' => $isUserHavePhpAccess)); ?> </div> <?php if ($showSaveTemplate) { ?> <script> function ToggleTemplateSaveDialog() { BX('TEMPLATE_ACTION_SAVE_NAME_CONT').value = ''; var currentDisplay = BX('TEMPLATE_ACTION_SAVE_NAME_CONT').style.display; BX('TEMPLATE_ACTION_SAVE_NAME_CONT').style.display = BX.toggle(currentDisplay, ['inline', 'none']); } </script> <div class="adm-detail-content-item-block-save"> <span> <input type="checkbox" value="Y" name="TEMPLATE_ACTION_SAVE" id="TEMPLATE_ACTION_SAVE" onclick="ToggleTemplateSaveDialog();"> <label for="TEMPLATE_ACTION_SAVE"><?php echo Loc::getMessage('SENDER_TEMPLATE_EDITOR_SAVE'); ?> </label> </span> <span id="TEMPLATE_ACTION_SAVE_NAME_CONT" style="display: none;"> <?php echo Loc::getMessage('SENDER_TEMPLATE_EDITOR_SAVE_NAME'); ?> <input type="text" name="TEMPLATE_ACTION_SAVE_NAME"></span> </div> <?php } return ob_get_clean(); }