403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/mail/selector/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/mail/selector/mail.selector.js
(function() {

var BX = window.BX;

if (!!BX.MailUISelector)
{
	return;
}

BX.MailUISelector = {

	prefix: 'MC',

	onEmptySearchResult: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isNotEmptyString(params.searchString)
			|| !BX.type.isNotEmptyObject(BX.UI.SelectorManager)
		)
		{
			return;
		}

		var
			selectorInstance = BX.UI.SelectorManager.instances[params.selectorId];

		if (!BX.type.isNotEmptyObject(selectorInstance))
		{
			return;
		}

		if (selectorInstance.getOption('allowAdd', 'MAILCONTACTS') == 'Y')
		{
			var contactData = selectorInstance.manager.checkEmail(params.searchString);
			if (
				BX.type.isNotEmptyObject(contactData)
				&& !BX.type.isNotEmptyObject(selectorInstance.entities.MAILCONTACTS.items[contactData.email])
			)
			{
				this.openAddDialog({
					selectorId: params.selectorId,
					contactData: contactData
				});
			}
		}
	},

	openAddDialog: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isNotEmptyObject(params.contactData)
		)
		{
			return;
		}

		var
			selectorInstance = BX.UI.SelectorManager.instances[params.selectorId];

		if (!BX.type.isNotEmptyObject(selectorInstance))
		{
			return;
		}

		if (!selectorInstance.popups.addMailContact)
		{
			selectorInstance.popups.addMailContact = new BX.PopupWindow("add-mailcontact-popup", selectorInstance.getPopupBind(), {
				offsetTop: 1,
				content: this.getAddDialogContent(params),
				zIndex: 1250,
				lightShadow: true,
				autoHide: true,
				closeByEsc: true,
				angle: {
					position: "bottom",
					offset : 20
				},
				events: {
					onPopupClose : function()
					{
						if (
							selectorInstance.popups.addMailContact != null
							|| !selectorInstance.popups.addMailContact.isShown()
						)
						{
							this.addMailContact({
								selectorId: params.selectorId,
								name: (selectorInstance.addMailContactSubmitted ? BX('add_mailcontact_name_' + params.selectorId).value : ''),
								lastName: (selectorInstance.addMailContactSubmitted ? BX('add_mailcontact_lastname_' + params.selectorId).value : ''),
								email: BX('add_mailcontact_email_' + params.selectorId).value
							});
						}
						selectorInstance.addMailContactSubmitted = false;

						if (
							selectorInstance.manager.statuses.allowSendEvent
							&& selectorInstance.callback.closeEmailAdd
						)
						{
							selectorInstance.callback.closeEmailAdd({
								selectorId: selectorInstance.id
							});
						}
					}.bind(this),
					onPopupShow: function()
					{
						BX.defer(BX.focus)(BX('add_mailcontact_name_' + params.selectorId));

						if (
							selectorInstance.manager.statuses.allowSendEvent
							&& selectorInstance.callback.openEmailAdd
						)
						{
							selectorInstance.callback.openEmailAdd({
								selectorId: selectorInstance.id
							});
						}
					}
				}
			});
		}
		else
		{
			selectorInstance.popups.addMailContact.setContent(this.getAddDialogContent(params));
			selectorInstance.popups.addMailContact.setBindElement(selectorInstance.getPopupBind());
		}


		if (!selectorInstance.popups.addMailContact.isShown())
		{
			selectorInstance.popups.addMailContact.show();
		}
	},

	getAddDialogContent: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isNotEmptyObject(params.contactData)
		)
		{
			return;
		}

		var
			selectorInstance = BX.UI.SelectorManager.instances[params.selectorId];

		if (!BX.type.isNotEmptyObject(selectorInstance))
		{
			return;
		}

		return BX.create('DIV', {
			props: {
				className: 'bx-ui-selector bx-feed-email-popup'
			},
			children: [
				BX.create('DIV', {
					props: {
						className: 'bx-feed-email-title'
					},
					text: BX.message('MAIL_EXT_SELECTOR_ADD_MAILCONTACT_TITLE')
				}),
				BX.create('FORM', {
					style: {
						padding: 0,
						margin: 0
					},
					events: {
						submit : function(e) {
							this.submitAddMailContactForm(params);
							e.stopPropagation();
							e.preventDefault();
						}.bind(this)
					},
					children: [
						BX.create('DIV', {
							children: [
								BX.create('INPUT', {
									attrs: {
										id: 'add_mailcontact_email_' + params.selectorId,
										type: "hidden",
										value: params.contactData.email
									}
								}),
								BX.create('INPUT', {
									attrs: {
										id: 'add_mailcontact_name_' + params.selectorId,
										type: "text",
										placeholder: BX.message('MAIL_EXT_SELECTOR_ADD_MAILCONTACT_PLACEHOLDER_NAME'),
										value: params.contactData.name
									},
									props: {
										className: 'bx-feed-email-input'
									}
								}),
								BX.create('INPUT', {
									attrs: {
										id: 'add_mailcontact_lastname_' + params.selectorId,
										type: "text",
										placeholder: BX.message('MAIL_EXT_SELECTOR_ADD_MAILCONTACT_PLACEHOLDER_LAST_NAME'),
										value: params.contactData.lastName
									},
									props: {
										className: 'bx-feed-email-input'
									},
									events : {
										keyup : function(e) {
											if (
												BX('add_mailcontact_name_' + params.selectorId).value.length > 0
												|| BX('add_mailcontact_lastname_' + params.selectorId).value.length > 0
											)
											{
												BX.removeClass(BX('add_mailcontact_button_' + params.selectorId), 'ui-btn-disabled');
											}
											else
											{
												BX.addClass(BX('add_mailcontact_button_' + params.selectorId), 'ui-btn-disabled');
											}
											e.stopPropagation();
											e.preventDefault();
										}
									}
								}),
								BX.create('SPAN', {
									attrs: {
										id: 'add_mailcontact_button_' + params.selectorId
									},
									props: {
										className: 'ui-btn ui-btn-md ui-btn-primary ui-btn-disabled'
									},
									text: BX.message("MAIL_EXT_SELECTOR_ADD_MAILCONTACT_BUTTON_OK"),
									style: {
										cursor: 'pointer'
									},
									events : {
										click : function() {
											this.submitAddMailContactForm(params);
										}.bind(this)
									}
								}),
								BX.create('INPUT', {
									style: {
										display: 'none'
									},
									attrs: {
										type: 'submit'
									}
								})
							]
						})
					]
				})
			]
		});
	},

	addMailContact: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
		)
		{
			return;
		}

		var
			selectorInstance = BX.UI.SelectorManager.instances[params.selectorId];

		if (
			!BX.type.isNotEmptyObject(selectorInstance)
			|| !BX.type.isNotEmptyObject(selectorInstance.entities.MAILCONTACTS)
		)
		{
			return;
		}

		var
			showEmail = false,
			userEmail = params.email,
			userName = BX.util.htmlspecialchars(params.name) + (BX.type.isNotEmptyString(params.name) ? ' ' : '') + BX.util.htmlspecialchars(params.lastName);

		if (!BX.type.isNotEmptyString(userName))
		{
			userName = userEmail;
		}
		else
		{
			showEmail = true;
		}

		selectorInstance.entities.MAILCONTACTS.items[userEmail] = {
			name: userName,
			email: userEmail,
			id: 'MC' + userEmail,
			showEmail: (showEmail ? 'Y' : 'N'),
			params: params,
			isEmail: 'Y',
		};

		if (selectorInstance.callback.select)
		{
			selectorInstance.callback.select({
				item: selectorInstance.entities.MAILCONTACTS.items[userEmail],
				entityType: 'MAILCONTACTS',
				selectorId: selectorInstance.id,
				state: 'select',
				prefix: this.prefix
			});
		}
	},

	submitAddMailContactForm: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
		)
		{
			return;
		}

		var
			selectorInstance = BX.UI.SelectorManager.instances[params.selectorId];

		if (!BX.type.isNotEmptyObject(selectorInstance))
		{
			return;
		}

		selectorInstance.addMailContactSubmitted = true;
		selectorInstance.popups.addMailContact.close();
	},

	onGetEntityTypes: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyObject(params.selector)
		)
		{
			return;
		}

		var
			selectorInstance = params.selector;

		if (selectorInstance.getOption('enableMailContacts') == 'Y')
		{
			var selectedItemsData = {};
			selectorInstance.entityTypes.MAILCONTACTS = {
				options: {
					allowAdd: (selectorInstance.getOption('allowAddMailContact') == 'Y' ? 'Y' : 'N'),
					addTab: (selectorInstance.getOption('addMailContactsTab') == 'Y' ? 'Y' : 'N'),
					selectedItemsData: selectorInstance.getOption('selectedItemsData')
				},
			};
		}
	}
};

BX.addCustomEvent('BX.Main.SelectorV2:onGetEntityTypes', BX.MailUISelector.onGetEntityTypes);

BX.ready(function () {
	BX.addCustomEvent('BX.UI.Selector:onEmptySearchResult', BX.MailUISelector.onEmptySearchResult.bind(BX.MailUISelector));
});
})();

Youez - 2016 - github.com/yon3zu
LinuXploit