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/cvetdv.ru/bitrix/components/bitrix/landing.roles/templates/.default/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/components/bitrix/landing.roles/templates/.default/script.js
landingAccessExtendedSelected = {};

function deleteAccessRow(link)
{
	landingAccessSelected[BX.data(BX(link), 'id')] = false;
	BX.remove(BX.findParent(BX(link), {tag: 'tr'}, true));
}

function deleteAccessRowExtended(link)
{
	var code = BX.data(BX(link), 'code');
	if (typeof landingAccessExtendedSelected[code] !== 'undefined')
	{
		var id = BX.data(BX(link), 'id');
		landingAccessExtendedSelected[code][id] = false;
	}
	BX.remove(BX.findParent(BX(link), {tag: 'div'}, true));
}

(function() {

	'use strict';

	BX.namespace('BX.Landing');

	/**
	 * Rights in role mode.
	 */
	BX.Landing.Access = function(params)
	{
		// init vars
		var selected = landingAccessSelected;
		var name = 'rights';
		var tbl = BX('landing-' + name + '-table');
		var select = params.select;
		var inc = params.inc;

		// access init
		BX.Access.Init({
			other: {
				disabled_cr: true
			}
		});
		BX.Access.SetSelected(
			selected,
			name
		);

		// show form
		function showForm()
		{
			BX.Access.ShowForm(
			{
				callback: function(obSelected)
				{
					for (var provider in obSelected)
					{
						if (obSelected.hasOwnProperty(provider))
						{
							for (var id in obSelected[provider])
							{
								if (obSelected[provider].hasOwnProperty(id))
								{
									// build table row
									var cnt = tbl.rows.length;
									var row = tbl.insertRow(cnt-1);

									selected[id] = true;
									row.insertCell(-1);
									row.insertCell(-1);
									row.insertCell(-1);
									row.insertCell(-1);

									row.cells[0].classList.add('table-blue-td-name');
									row.cells[1].classList.add('table-blue-td-param');
									row.cells[2].classList.add('table-blue-td-select');
									row.cells[3].classList.add('table-blue-td-action');

									row.cells[0].innerHTML = BX.Access.GetProviderName(provider);
									row.cells[1].textContent = obSelected[provider][id].name;
									row.cells[2].innerHTML = '<input type="hidden" name="' + name + '[ACCESS_CODE][]" value="' + id + '">' +
															select.replace('#inc#', inc++);
									row.cells[3].innerHTML = '<span onclick="deleteAccessRow(this);" data-id="' + id + '" class="table-blue-delete table-blue-delete-landing-role bitrix24-metrika" data-metrika24="permission_delete"></span>';
								}
							}
						}
					}
				},
				bind: name
			});
		}

		// bind for show form
		BX('landing-rights-form').addEventListener(
			'click',
			showForm.bind(this)
		);

		// remove roles
		var fields = BX.findChild(
			BX('landing-roles'),
			{
				class: 'landing-role-delete'
			},
			true,
			true
		);
		fields.forEach(function(element){
			BX(element).addEventListener(
				'click',
				function()
				{
					BX.remove(
						BX.findParent(
							BX(this),
							{tag: 'tr'},
							true
						)
					);
				}
			);
		});

		// etended mode
		BX.bind(
			BX('landing-mode-form-submit'),
			'click',
			function()
			{
				BX('landing-mode-form').submit();
			}
		);
	};

	/**
	 * Rights in extended mode.
	 */
	BX.Landing.AccessExtended = function(id)
	{
		function showForm(rightId, selected)
		{
			var name = 'rights';

			// init access
			BX.Access.bInit = false;
			BX.Access.Init({
				other: {
					disabled_cr: true
				}
			});

			// set selected ids
			if (typeof landingAccessExtendedSelected[rightId] === 'undefined')
			{
				landingAccessExtendedSelected[rightId] = selected;
			}
			else
			{
				for (var index in selected)
				{
					if (typeof landingAccessExtendedSelected[rightId][index] === 'undefined')
					{
						landingAccessExtendedSelected[rightId][index] = selected[index];
					}
				}
			}
			BX.Access.SetSelected(
				landingAccessExtendedSelected[rightId],
				name
			);

			// show form
			BX.Access.ShowForm(
				{
					callback: function(obSelected)
					{
						for (var provider in obSelected)
						{
							if (obSelected.hasOwnProperty(provider))
							{
								for (var id in obSelected[provider])
								{
									if (obSelected[provider].hasOwnProperty(id))
									{
										landingAccessExtendedSelected[rightId][id] = true;
										var html = '';
										var providerType = BX.Access.GetProviderName(provider);

										html = '<div class="landing-role-users">';
										html += '<input type="hidden" name="' + name + '[' + rightId + '][]" value="' + id + '">';
										html += (providerType !== '') ? providerType + ': ' : '';
										html += obSelected[provider][id].name;
										html += '<span onclick="deleteAccessRowExtended(this);" data-code="' + rightId + '" data-id="' + id + '" class="table-blue-delete table-blue-delete-landing-role bitrix24-metrika" data-metrika24="permission_delete"></span>';
										html += '</div>';
										BX('landing-additional-rights-fields-' + rightId).innerHTML += html;
									}
								}
							}
						}
					},
					bind: name
				}
			);
		}

		// set additional rights
		var fields = BX.findChild(
			BX('landing-additional-rights-table'),
			{
				class: 'landing-additional-rights-form'
			},
			true,
			true
		);
		fields.forEach(function(element){
			BX(element).addEventListener(
				'click',
				function()
				{
					var selected = {};
					var codes = BX.data(BX(element), 'codes').split(',');
					for (var i = 0, c = codes.length; i < c; i++)
					{
						selected[codes[i]] = true;
					}
					showForm(
						BX.data(BX(element), 'id'),
						selected
					);
				}.bind(this)
			);
		});
	};

})();

Youez - 2016 - github.com/yon3zu
LinuXploit