1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
actionpreview.php
См. документацию.
1<?php
8namespace Bitrix\Sender\Internals\CommonAjax;
9
10use Bitrix\Fileman\Block\EditorMail;
11use Bitrix\Main;
12use Bitrix\Main\Config\Option;
13use Bitrix\Main\Localization\Loc;
14use Bitrix\Sender\Integration\Crm\Connectors\Helper;
15use Bitrix\Sender\Internals\QueryController as Controller;
16use Bitrix\Sender\Message\Tracker;
17use Bitrix\Sender\Security;
18
19Loc::loadMessages(__FILE__);
20
26{
27 const NAME = 'preview';
28
36 {
37 $content = $response->initContentHtml();
38
40
41 $canEditPhp = Security\User::current()->canEditPhp();
42 $canUseLpa = Security\User::current()->canUseLpa();
43
44 $tracker = (new Tracker(Tracker::TYPE_UNSUB))
45 ->setModuleId('sender')
46 ->setFields(array(
47 'RECIPIENT_ID' => 0,
48 'MAILING_ID' => 0,
49 'EMAIL' => 'test@example.com',
50 'CODE' => 'test@example.com',
51 'TEST' => 'Y'
52 ))
53 ->setHandlerUri(Option::get('sender', 'unsub_link'));
54
55 $html = $request->getPostList()->getRaw('content');
56 preg_match_all("/#([0-9a-zA-Z_.]+?)#/", $html, $personalizeFields);
57 $fieldsData = [];
58
59 if(is_object($GLOBALS["USER"]) && isset($personalizeFields[1]))
60 {
61 foreach ($personalizeFields[1] as $field)
62 {
63 $fieldArray = explode(".", $field);
64 if(count($fieldArray) > 1)
65 {
66 $document = Helper::getData(
67 $fieldArray[0], [$GLOBALS["USER"]->GetID()]
68 );
69 if(!isset($document[1]))
70 {
71 continue;
72 }
73 $document = $document[1];
74
75 $fieldsData[$field] = $document
76 && isset($document[$fieldArray[1]])
77 ? $document[$fieldArray[1]] :'';
78 }
79 }
80 }
81
82 $previewParams = array(
83 'CAN_EDIT_PHP' => $canEditPhp,
84 'CAN_USE_LPA' => $canUseLpa,
85 'SITE' => $request->get('site_id') ?: SITE_ID,
86 'HTML' => $html,
87 'FIELDS' => array_merge($fieldsData, array(
88 'SENDER_CHAIN_CODE' => 'sender_chain_item_0',
89 'UNSUBSCRIBE_LINK' => $tracker->getLink()
90 )),
91 );
92
93 $html = EditorMail::getPreview($previewParams);
94 $content->set($html);
95 }
96}
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
Определения catalog_reindex.php:36
static getPreview(array $params)
Определения editormail.php:110
static includeModule($moduleName)
Определения loader.php:67
Определения response.php:5
static onRequest(Main\HttpRequest $request, Controller\Response $response)
Определения actionpreview.php:35
const TYPE_UNSUB
Определения tracker.php:20
static current()
Определения user.php:47
$content
Определения commerceml.php:144
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$GLOBALS['____1690880296']
Определения license.php:1
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
$response
Определения result.php:21
const SITE_ID
Определения sonet_set_content_view.php:12