Cyber Anakins Lightsaber - A Minishell-based backdoor

Current Path : /home/bjb2293782/xn--80abaeoqbbrbgf8aea5a2a2z.xn--p1ai/docs/
Upload File :
Current File : /home/bjb2293782/xn--80abaeoqbbrbgf8aea5a2a2z.xn--p1ai/docs/contactseditor.js

function openContactsDialog(json, filial)
{
	var dlg = openDialogBoxWithButtons("Правка контактов", 800, 400);

	var grid;

	grid = createPropertyGrid(dlg.innerElement);

	var list = [];
	for(var i=1; i < filials.length; i++)
	{
		list[i-1] = filials[i];
	}	
	var filialEdit = createComboBoxProperty(grid, "Филиал:", list, filial);


	var directorEdit = createEditProperty(grid, "Заведующий (глав.библ-рь):", "100%", '');
	var addressEdit = createEditProperty(grid, "Адрес:","100%",'');
	var phoneEdit = createEditProperty(grid, "Телефон:","100%",'');
	var emailEdit = createEditProperty(grid, "email:","100%",'');
	var vkEdit = createEditProperty(grid, "ВКонтакте:","100%",'');
	var telegramEdit = createEditProperty(grid, "Telegram:","100%",'');


	var currentFilial = -1;
	var saveFilial = function()
	{
		if (currentFilial == -1) return;
		var director=  directorEdit.getValue();
		if (director!='')
			json[currentFilial].director=director;
		else
		if (json[currentFilial].director) delete json[currentFilial].director;

		var phone = phoneEdit.getValue();
		if (phone!='')
			json[currentFilial].phone=phone;
		else
		if (json[currentFilial].phone) delete json[currentFilial].phone;


		var address = addressEdit.getValue();
		if (address!='')
			json[currentFilial].address=address;
		else
		if (json[currentFilial].address) delete json[currentFilial].address;

		
		var email = emailEdit.getValue();
		if (email!='')
			json[currentFilial].email=email;
		else
		if (json[currentFilial].email) delete json[currentFilial].email;

		var vk = vkEdit.getValue();
		if (vk!='')
			json[currentFilial].vk=vk;
		else
		if (json[currentFilial].vk) delete json[currentFilial].vk;

		var telegram = telegramEdit.getValue();
		if (telegram!='')
			json[currentFilial].telegram=telegram;
		else
		if (json[currentFilial].telegram) delete json[currentFilial].telegram;
	}

	filialEdit.editor.onchange = function()
	{
		saveFilial();

		var filial = filialEdit.getValue();

		directorEdit.setValue(json[filial].director ? json[filial].director : '');
		addressEdit.setValue(json[filial].address ? json[filial].address : '');
		phoneEdit.setValue(json[filial].phone ? json[filial].phone : '');
		emailEdit.setValue(json[filial].email ? json[filial].email : '');
		vkEdit.setValue(json[filial].vk ? json[filial].vk : '');
		telegramEdit.setValue(json[filial].telegram ? json[filial].telegram : '');

		currentFilial = filial;
	}


	btn = dlg.buttonPanel.appendChild(createInput('button'));
    btn.value="OK";
    btn.onclick=function()
    	{
    		saveFilial();

    		var post = 'action=contacts:set';
    		post+='&data='+encodeURIComponent(JSON.stringify(json));

    		var btn = this;
    		btn.disabled=true;

    		sendXHR('api.php',post,
			function(response)
			{
				dlg.close();
				location.reload();
			},
			function(error)
			{
				btn.disabled=false;
				errorBox(error);
			});	
    	};



	btn = dlg.buttonPanel.appendChild(createInput('button'));
    btn.value="Закрыть";
    btn.onclick=function()
    	{
    		dlg.close();
    	};

	filialEdit.setValue(filial);
	filialEdit.editor.onchange();
	filialEdit.editor.focus();

	dlg.alignInScreenCenter();
}


function editContacts(filial)
{
	sendXHR('api.php','action=contacts:get',
		function(response)
		{
			var json = JSON.parse(response);
			openContactsDialog(json, filial);
		},
		function(error)
		{
			errorBox(error);
		});	
}

May the force be with you, always.