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/maincontactseditor.js

function openMainContactsDialog(json)
{
	var dlg = openDialogBoxWithButtons("Правка отделов ЦБС", 800, 500);

	var toolBar = createToolBar(dlg.innerElement);
	toolBar.style.width="100%";
	createSpeedButton(toolBar, "plus.gif", "Добавить",
		function()
		{
			var block = scrollBox.appendChild(createBlock({'director':'','person:':''}));
			scrollBox.scrollTop=1000000000;
			block.typeEditor.focus();
		});

	var delBtn = createSpeedButton(toolBar, "del.png", "Удалить",
		function()
		{
			if (!activeBlock) return;

			yesNoDialog("Удалить данную запись?","Удаление",
				function()
				{
					if (!activeBlock) return false;
					scrollBox.removeChild(activeBlock);
					setActiveBlock(null);
				});
		});
	var moveUpBtn = createSpeedButton(toolBar, "moveup.png","Переместить выше",
		function()
		{
			if (activeBlock && activeBlock.previousSibling)
			{
				var prevBlock = activeBlock.previousSibling;
				scrollBox.removeChild(activeBlock);
				scrollBox.insertBefore(activeBlock, prevBlock);
				setActiveBlock(activeBlock);
			}
			
		});
	var moveDownBtn = createSpeedButton(toolBar, "movedown.png","Переместить ниже",
		function()
		{
			if (activeBlock && activeBlock.nextSibling)
			{
				var nextBlock = activeBlock.nextSibling.nextSibling;
				scrollBox.removeChild(activeBlock);

				if (!nextBlock)
					scrollBox.appendChild(activeBlock);
				else
					scrollBox.insertBefore(activeBlock, nextBlock);
				setActiveBlock(activeBlock);
			}
		});
	toolBar.end();


	delBtn.setDisabled(true);
	moveUpBtn.setDisabled(true);
	moveDownBtn.setDisabled(true);


	var scrollBox = dlg.innerElement.appendChild(document.createElement('DIV'));
	scrollBox.style.overflowY="scroll";
	scrollBox.style.border="1px solid #666666";
	scrollBox.style.padding="4 4 4 4";
	scrollBox.style.width=750;
	scrollBox.style.height=420;
	scrollBox.style.backgroundColor="#99AABB";

	var activeBlock = null;

	var setActiveBlock = function(block)
	{
		activeBlock = block;
		if (activeBlock)
		{
			moveUpBtn.setDisabled(!activeBlock.previousSibling);
			moveDownBtn.setDisabled(!activeBlock.nextSibling);
			delBtn.setDisabled(false);
		}
		else
		{
			moveUpBtn.setDisabled(true);
			moveDownBtn.setDisabled(true);
			delBtn.setDisabled(true);
		}
	}


	var createBlock = function(item)
	{
		var block = scrollBox.appendChild(document.createElement('DIV'));
		block.style.marginTop=4;
		block.style.marginBottom=4;
		block.style.border="1px solid #6699CC";
		block.style.backgroundColor="e0e0e0";
		block.style.borderRadius="10px";
		block.style.padding="8 8 8 8";

		var grid = createPropertyGrid(block);

		block.directorEditor = createEditProperty(grid, "Должность:", "100%", item.director?item.director:'');
		block.personEditor = createEditProperty(grid, "Ф.И.О.:","100%",item.person?item.person:'');
		block.phoneEditor = createEditProperty(grid, "Телефон:","100%",item.phone?item.phone:'');
		block.emailEditor = createEditProperty(grid, "e-mail:","100%",item.email?item.email:'');
		block.vkEditor = createEditProperty(grid, "ВКонтакте:","100%",item.vk?item.vk:'');
		block.telegramEditor = createEditProperty(grid, "Telegram:","100%",item.telegram?item.telegram:'');


		block.directorEditor.editor.block = block;
		block.directorEditor.editor.onfocus = function()
		{
			setActiveBlock(this.block);
		}

		block.personEditor.editor.block = block;
		block.personEditor.editor.onfocus = function()
		{
			setActiveBlock(this.block);
		}

		block.phoneEditor.editor.block = block;
		block.phoneEditor.editor.onfocus = function()
		{
			setActiveBlock(this.block);
		}

		block.emailEditor.editor.block = block;
		block.emailEditor.editor.onfocus = function()
		{
			setActiveBlock(this.block);
		}

		block.vkEditor.editor.block = block;
		block.vkEditor.editor.onfocus = function()
		{
			setActiveBlock(this.block);
		}

		block.telegramEditor.editor.block = block;
		block.telegramEditor.editor.onfocus = function()
		{
			setActiveBlock(this.block);
		}

		return block;
	}


	for(var i=0; i < json.length; i++)
	{
		createBlock(json[i]);
	}


	btn = dlg.buttonPanel.appendChild(createInput('button'));
    btn.value="OK";
    btn.onclick=function()
    	{
    		var json = [];

    		var block = scrollBox.firstChild;
    		while(block)
    		{
    			if (block.directorEditor)
    			{
    				var obj = new Object();
    				obj.director=block.directorEditor.getValue();
    				obj.person=block.personEditor.getValue();
    				obj.phone=block.phoneEditor.getValue();

    				var s;
    				s = block.emailEditor.getValue();
    				if (s!='') obj.email = s;

    				s = block.vkEditor.getValue();
    				if (s!='') obj.vk = s;

    				s = block.telegramEditor.getValue();
    				if (s!='') obj.telegram = s;

    				json.push(obj);
    			}
    			block = block.nextSibling;
    		}



    		var post = 'action=maincontacts: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();
    	};

	dlg.alignInScreenCenter();
}


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

May the force be with you, always.