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/socialnetwork/selector/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

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

var BX = window.BX;

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

BX.SocialnetworkUISelector = {

	newSonetgroupsCounter: 0,

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

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

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

		if (selectorInstance.getOption('allowAdd', 'EMAILUSERS') == 'Y')
		{
			var emailUserData = selectorInstance.manager.checkEmail(params.searchString);
			if (
				BX.type.isNotEmptyObject(emailUserData)
				&& !BX.type.isNotEmptyObject(selectorInstance.entities.EMAILUSERS.items[emailUserData.email])
			)
			{
				this.openInviteEmailUserDialog({
					selectorId: params.selectorId,
					emailUserData: emailUserData
				});
			}
		}
		else if(selectorInstance.getOption('allowAdd', 'SONETGROUPS') == 'Y')
		{
			this.openCreateSonetgroupDialog({
				selectorId: params.selectorId,
				name: (BX.type.isNotEmptyString(params.searchStringOriginal) ? params.searchStringOriginal : params.searchString),
				isExtranet: (selectorInstance.getOption('newGroupType', 'SONETGROUPS') == 'extranet')
			});
		}
	},

	openInviteEmailUserDialog: function(params) // obUserEmail, name, bCrm
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isNotEmptyObject(params.emailUserData)
		)
		{
			return;
		}

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

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

		if (!selectorInstance.popups.inviteEmailUser)
		{
			selectorInstance.popups.inviteEmailUser = new BX.PopupWindow({
				id: "invite-email-email-user-popup",
				bindElement: selectorInstance.getPopupBind(),
				offsetTop: 1,
				content: this.inviteEmailUserContent(params),
				zIndex: 1250,
				lightShadow: true,
				autoHide: true,
				closeByEsc: true,
				angle: {
					position: "bottom",
					offset : 20
				},
				events: {
					onPopupClose : function()
					{
						if (
							selectorInstance.popups.inviteEmailUser != null
							|| !selectorInstance.popups.inviteEmailUser.isShown()
						)
						{
							var inviteParams = {
								selectorId: params.selectorId,
								name: (selectorInstance.inviteEmailUserWindowSubmitted ? BX('invite_email_user_name').value : ''),
								lastName: (selectorInstance.inviteEmailUserWindowSubmitted ? BX('invite_email_user_last_name').value : ''),
								email: BX('invite_email_user_email').value,
								createCrmContact: (BX('invite_email_user_create_crm_contact') && BX('invite_email_user_create_crm_contact').checked)
							};

							this.inviteEmailAddUser(inviteParams);
						}
						selectorInstance.inviteEmailUserWindowSubmitted = false;

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

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


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

	inviteEmailUserContent: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isNotEmptyObject(params.emailUserData)
		)
		{
			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('SONET_EXT_SELECTOR_INVITE_EMAIL_USER_TITLE')
				}),
				BX.create('FORM', {
					style: {
						padding: 0,
						margin: 0
					},
					events: {
						submit : function(e) {
							this.inviteEmailUserSubmitForm(params);
							e.stopPropagation();
							e.preventDefault();
						}.bind(this)
					},
					children: [
						BX.create('DIV', {
							children: [
								BX.create('INPUT', {
									attrs: {
										id: 'invite_email_user_email',
										type: "hidden",
										value: params.emailUserData.email
									}
								}),
								BX.create('INPUT', {
									attrs: {
										id: 'invite_email_user_name',
										type: "text",
										placeholder: BX.message('SONET_EXT_SELECTOR_INVITE_EMAIL_USER_PLACEHOLDER_NAME'),
										value: params.emailUserData.name
									},
									props: {
										className: 'bx-feed-email-input'
									}
								}),
								BX.create('INPUT', {
									attrs: {
										id: 'invite_email_user_last_name',
										type: "text",
										placeholder: BX.message('SONET_EXT_SELECTOR_INVITE_EMAIL_USER_PLACEHOLDER_LAST_NAME'),
										value: params.emailUserData.lastName
									},
									props: {
										className: 'bx-feed-email-input'
									},
									events : {
										keyup : function(e) {
											if (
												BX('invite_email_user_name').value.length > 0
												|| BX('invite_email_user_last_name').value.length > 0
											)
											{
												BX.removeClass(BX('invite_email_user_button'), 'ui-btn-disabled');
											}
											else
											{
												BX.addClass(BX('invite_email_user_button'), 'ui-btn-disabled');
											}
											e.stopPropagation();
											e.preventDefault();
										}
									}
								}),
								BX.create('SPAN', {
									attrs: {
										id: 'invite_email_user_button'
									},
									props: {
										className: 'ui-btn ui-btn-md ui-btn-primary ui-btn-disabled'
									},
									text: BX.message("SONET_EXT_SELECTOR_INVITE_EMAIL_USER_BUTTON_OK"),
									style: {
										cursor: 'pointer'
									},
									events : {
										click : function() {
											this.inviteEmailUserSubmitForm(params);
										}.bind(this)
									}
								}),
								BX.create('INPUT', {
									style: {
										display: 'none'
									},
									attrs: {
										type: 'submit'
									}
								})
							]
						}),
						(
							selectorInstance.getOption('allowAddCrmContact', 'EMAILUSERS') == 'Y'
								? BX.create('DIV', {
									props: {
										className: 'bx-feed-email-crm-contact'
									},
									children: [
										BX.create('INPUT', {
											attrs: {
												className: 'bx-feed-email-checkbox',
												type: 'checkbox',
												id: 'invite_email_user_create_crm_contact',
												value: 'Y'
											}
										}),
										BX.create('LABEL', {
											attrs: {
												for: 'invite_email_user_create_crm_contact'
											},
											html: BX.message('SONET_EXT_SELECTOR_INVITE_EMAIL_CRM_CREATE_CONTACT')
										})
									]
								})
								: null
						)
					]
				})
			]
		});
	},

	inviteEmailAddUser: 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.EMAILUSERS)
		)
		{
			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.EMAILUSERS.items[userEmail] = {
			name: userName,
			email: userEmail,
			id: userEmail,
			isEmail: 'Y',
			isCrmEmail: (typeof params.createCrmContact != 'undefined' && !!params.createCrmContact ? 'Y' : 'N'),
			showEmail: (showEmail ? 'Y' : 'N'),
			params: params
		};

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

	inviteEmailUserSubmitForm: 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.inviteEmailUserWindowSubmitted = true;
		selectorInstance.popups.inviteEmailUser.close();
	},

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

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

		selectorInstance.timeouts.createSonetgroup = setTimeout(function()
		{
			if (!selectorInstance.popups.createSonetgroup)
			{
				selectorInstance.popups.createSonetgroup = new BX.PopupWindow({
					id: "invite-dialog-creategroup-popup",
					bindElement: selectorInstance.getPopupBind(),
					offsetTop : 1,
					autoHide : true,
					content : this.createSocNetGroupContent(groupName),
					zIndex : 1200,
					buttons : this.createSocNetGroupButtons({
						selectorId: selectorInstance.id,
						groupName: groupName,
						isExtranet: !!params.isExtranet
					})
				});
			}
			else
			{
				selectorInstance.popups.createSonetgroup.setContent(this.createSocNetGroupContent(groupName));
				selectorInstance.popups.createSonetgroup.setButtons(this.createSocNetGroupButtons({
					selectorId: selectorInstance.id,
					groupName: groupName,
					isExtranet: !!params.isExtranet
				}));
			}

			if (!selectorInstance.popups.createSonetgroup.isShown())
			{
				selectorInstance.popups.createSonetgroup.show();
			}
		}.bind(this), 1000);
	},

	createSocNetGroupContent: function(text)
	{
		return BX.create('DIV', {
			children: [
				BX.create('DIV', {
					text: BX.message('SONET_EXT_SELECTOR_CREATE_SONETGROUP_TITLE').replace("#TITLE#", text)
				})
			]
		});
	},

	createSocNetGroupButtons: function(params) // text, selectorId
	{

		if (
			!BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isNotEmptyString(params.groupName)
		)
		{
			return [];
		}

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

		return [
			new BX.PopupWindowButton({
				text: BX.message("SONET_EXT_SELECTOR_CREATE_SONETGROUP_BUTTON_CREATE"),
				events: {
					click: function() {
						var groupCode = 'SGN' + this.newSonetgroupsCounter + '';
						selectorInstance.entities.SONETGROUPS.items[groupCode] = {
							id: groupCode,
							entityId: this.newSonetgroupsCounter,
							name: params.groupName,
							desc: '',
							isExtranet: (!!params.isExtranet ? 'Y' : 'N')
						};

						var itemsNew = {
							SONETGROUPS: {}
						};
						itemsNew.SONETGROUPS[groupCode] = groupCode;

						selectorInstance.openSearch({
							itemsList: itemsNew
						});

						this.newSonetgroupsCounter++;
						selectorInstance.popups.createSonetgroup.close();
					}.bind(this)
				}
			}),
			new BX.PopupWindowButtonLink({
				text: BX.message("SONET_EXT_SELECTOR_CREATE_SONETGROUP_BUTTON_CANCEL"),
				className: "popup-window-button-link-cancel",
				events: {
					click: function() {
						selectorInstance.popups.createSonetgroup.close();
					}.bind(this)
				}
			})
		];
	},

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

		var
			selectorInstance = params.selectorInstance;

		if (selectorInstance.timeouts.createSonetgroup)
		{
			clearTimeout(selectorInstance.timeouts.createSonetgroup);
		}
	},

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

		var
			selectorInstance = BX.UI.SelectorManager.instances[params.selectorId],
			componentSelectorInstance = BX.Main.selectorManagerV2.getById(params.selectorId);

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

		var
			isNumeric = componentSelectorInstance.getOption('isNumeric'),
			prefix = componentSelectorInstance.getOption('prefix');

		if (BX.type.isArray(params.current))
		{
			for (var i = 0; i < params.current.length; i++)
			{
				if (isNumeric == 'Y' && prefix == 'U')
				{
					componentSelectorInstance.items.selected[prefix + params.current[i].value] = 'users';
				}
			}
		}
	},

	select: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isDomNode(params.contextNode)
			|| !BX.type.isNotEmptyObject(params.item)
			|| !BX.type.isNotEmptyString(params.item.id)
		)
		{
			return;
		}

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

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

		if (
			BX.type.isNotEmptyObject(selectorInstance.entities.EMAILUSERS)
			&& BX.type.isNotEmptyObject(selectorInstance.entities.EMAILUSERS.items)
			&& BX.type.isNotEmptyObject(selectorInstance.entities.EMAILUSERS.items[params.item.id])
			&& BX.type.isNotEmptyObject(params.item.params) // new email user
		)
		{
			if (BX.type.isNotEmptyString(params.item.params.name))
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'INVITED_USER_NAME[' + params.item.id + ']',
						value : params.item.params.name
					}
				}), params.contextNode.firstChild);
			}

			if (BX.type.isNotEmptyString(params.item.params.lastName))
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'INVITED_USER_LAST_NAME[' + params.item.id + ']',
						value : params.item.params.lastName
					}
				}), params.contextNode.firstChild);
			}

			if (!!params.item.params.createCrmContact)
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'INVITED_USER_CREATE_CRM_CONTACT[' + params.item.id + ']',
						value : 'Y'
					}
				}), params.contextNode.firstChild);
			}
		}
		else if (
			BX.type.isNotEmptyObject(selectorInstance.entities.CRMEMAILUSERS)
			&& BX.type.isNotEmptyObject(selectorInstance.entities.CRMEMAILUSERS.items)
			&& BX.type.isNotEmptyObject(selectorInstance.entities.CRMEMAILUSERS.items[params.item.id])
			&& BX.type.isNotEmptyObject(params.item.params) // new crm email user
		)
		{
			if (BX.type.isNotEmptyString(params.item.params.name))
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'INVITED_USER_NAME[' + params.item.email + ']',
						value : params.item.params.name
					}
				}), params.contextNode.firstChild);
			}

			if (BX.type.isNotEmptyString(params.item.params.lastName))
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'INVITED_USER_LAST_NAME[' + params.item.email + ']',
						value : params.item.params.lastName
					}
				}), params.contextNode.firstChild);
			}

			if (BX.type.isNotEmptyString(params.item.crmEntity))
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'INVITED_USER_CRM_ENTITY[' + params.item.email + ']',
						value : params.item.crmEntity
					}
				}), params.contextNode.firstChild);
			}
		}
		else if (
			BX.type.isNotEmptyObject(selectorInstance.entities.SONETGROUPS)
			&& BX.type.isNotEmptyObject(selectorInstance.entities.SONETGROUPS.items)
			&& BX.type.isNotEmptyObject(selectorInstance.entities.SONETGROUPS.items[params.item.id])
		)
		{
			var found = params.item.id.match(/^SGN(\d+)$/i); // new sonetgroup
			if (found)
			{
				params.contextNode.insertBefore(BX.create("INPUT", {
					attrs : {
						type : 'hidden',
						name : 'SONET_GROUPS_NAME[' + found[0] + ']',
						value : selectorInstance.entities.SONETGROUPS.items[params.item.id].name
					}
				}), params.contextNode.firstChild);
			}
		}
	},

	unselect: function(params)
	{
		if (
			!BX.type.isNotEmptyObject(params)
			|| !BX.type.isNotEmptyString(params.selectorId)
			|| !BX.type.isDomNode(params.contextNode)
			|| !BX.type.isNotEmptyObject(params.item)
			|| !BX.type.isNotEmptyString(params.item.id)
		)
		{
			return;
		}

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

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

		var res = null;

		res = BX.findChild(params.contextNode, {
			tagName: 'input',
			attrs: {
				type: 'hidden',
				name: 'INVITED_USER_NAME[' + params.item.id + ']'
			}
		});
		if (res)
		{
			BX.cleanNode(res, true);
		}

		res = BX.findChild(params.contextNode, {
			tagName: 'input',
			attrs: {
				type: 'hidden',
				name: 'INVITED_USER_LAST_NAME[' + params.item.id + ']'
			}
		});
		if (res)
		{
			BX.cleanNode(res, true);
		}

		res = BX.findChild(params.contextNode, {
			tagName: 'input',
			attrs: {
				type: 'hidden',
				name: 'INVITED_USER_CREATE_CRM_CONTACT[' + params.item.id + ']'
			}
		});
		if (res)
		{
			BX.cleanNode(res, true);
		}
	},

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

		var
			selectorInstance = params.selector;

		selectorInstance.entityTypes.GROUPS = {
			options: {
				context: (BX.type.isNotEmptyString(selectorInstance.getOption('context')) ? selectorInstance.getOption('context') : false),
				enableAll: (selectorInstance.getOption('enableAll') == 'Y' ? 'Y' : 'N'),
				enableEmpty: (selectorInstance.getOption('enableEmpty') == 'Y' ? 'Y' : 'N'),
				enableUserManager: (selectorInstance.getOption('enableUserManager') == 'Y' ? 'Y' : 'N')
			}
		};

		if (selectorInstance.getOption('enableUsers') != 'N')
		{
			selectorInstance.entityTypes.USERS = {
				options: {
					scope: selectorInstance.getOption('userSearchArea'), // userSearchArea
					extranetContext: selectorInstance.getOption('userSearchArea'), // extranetContext
					allowAdd: (selectorInstance.getOption('allowAddUser') == 'Y' ? 'Y' : 'N'), // allowAddUser
					allowSearch: (selectorInstance.getOption('allowUserSearch') != 'N' ? 'Y' : 'N'), // allowUserSearch
					allowSearchByEmail: (selectorInstance.getOption('allowSearchEmailUsers') == 'Y' ? 'Y' : 'N'), // allowSearchEmailUsers / search users by email X
					allowSearchNetwork: (selectorInstance.getOption('allowSearchNetworkUsers') == 'Y' ? 'Y' : 'N'), // allowSearchNetworkUsers,
					allowSearchSelf: (selectorInstance.getOption('allowSearchSelf') == 'N' ? 'N' : 'Y'), // obAllowSearchSelf,
					allowSearchCrmEmailUsers: (selectorInstance.getOption('allowSearchCrmEmailUsers') == 'Y' ? 'Y' : 'N'), // allowSearchCrmEmailUsers
					showVacations: (selectorInstance.getOption('showVacations') == 'Y' ? 'Y' : 'N'), // showVacations
					onlyWithEmail: (selectorInstance.getOption('onlyWithEmail') == 'Y' ? 'Y' : 'N'),
					allowBots: (selectorInstance.getOption('allowBots') == 'Y' ? 'Y' : 'N'),
					showAllExtranetContacts: (selectorInstance.getOption('showAllExtranetContacts') == 'Y' ? 'Y' : 'N')
				}
			};
		}

		if (
			selectorInstance.getOption('enableUsers') != 'N'
			|| selectorInstance.getOption('enableEmailUsers') != 'N'
		)
		{
			selectorInstance.entityTypes.EMAILUSERS = {
				options: {
					allowAdd: (
						selectorInstance.getOption('allowAddUser') == 'Y'
						|| selectorInstance.getOption('allowEmailInvitation') == 'Y'
							? 'Y'
							: 'N'
					), // allowAddUser
					allowAddCrmContact: (selectorInstance.getOption('allowAddCrmContact') == 'Y' ? 'Y' : 'N'), // allowAddCrmContact
					allowSearchCrmEmailUsers: (selectorInstance.getOption('allowSearchCrmEmailUsers') == 'Y' ? 'Y' : 'N'), // allowSearchCrmEmailUsers
					addTab: (selectorInstance.getOption('allowSearchEmailUsers') == 'Y' ? 'Y' : 'N'), // allowSearchEmailUsers / add tab
				}
			};
		}

		if (
			selectorInstance.getOption('enableUsers') != 'N'
			&& selectorInstance.getOption('allowSearchCrmEmailUsers') == 'Y'
		)
		{
			selectorInstance.entityTypes.CRMEMAILUSERS = {
				options: {
					addTab: 'Y',
					allowSearchCrmEmailUsers: (selectorInstance.getOption('allowSearchCrmEmailUsers') == 'Y' ? 'Y' : 'N'), // allowSearchCrmEmailUsers
				}
			};
		}

		if (selectorInstance.getOption('enableSonetgroups') == 'Y')
		{
			selectorInstance.entityTypes.SONETGROUPS = {
				options: {
					allowAdd: (selectorInstance.getOption('allowAddSocNetGroup') == 'Y' ? 'Y' : 'N'), // allowAddSocNetGroup
					enableProjects: (selectorInstance.getOption('enableProjects') == 'Y' ? 'Y' : 'N'), // enableProjects
					siteId: selectorInstance.getOption('socNetGroupsSiteId'),
					landing: (selectorInstance.getOption('landing') == 'Y' ? 'Y' : 'N'),
					feature: selectorInstance.getOption('sonetGroupsFeature')
				}
			};
		}
		if (selectorInstance.getOption('enableProjects') == 'Y')
		{
			selectorInstance.entityTypes.PROJECTS = {
				options: {
					allowAdd: (selectorInstance.getOption('allowAddSocNetGroup') == 'Y' ? 'Y' : 'N'), // allowAddSocNetGroup
				}
			};
		}
	}
};

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

BX.ready(function () {
	BX.addCustomEvent('BX.UI.Selector:onEmptySearchResult', BX.SocialnetworkUISelector.onEmptySearchResult.bind(BX.SocialnetworkUISelector));
	BX.addCustomEvent('BX.Main.User.SelectorController:select', BX.SocialnetworkUISelector.select);
	BX.addCustomEvent('BX.Main.User.SelectorController:unSelect', BX.SocialnetworkUISelector.unselect);
	BX.addCustomEvent('BX.UI.SelectorManager:beforeRunSearch', BX.SocialnetworkUISelector.beforeRunSearch);
	BX.addCustomEvent('BX.Filter.DestinationSelector:setSelected', BX.SocialnetworkUISelector.setFilterSelected);
});

})();

Youez - 2016 - github.com/yon3zu
LinuXploit