%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.16.79.146
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/main/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/main/hot_keys.js
if(!BXHotKeys)
{

	function CBXHotKeys()
	{
		var _this = this;
		var idxKS = 0;
		var idxCode = 1;
		var idxCodeId = 2;
		var idxName = 3;
		var idxHKId = 4;
		var arServSymb = { 8: 'Back Space',9: 'Tab',13: 'Enter',16: 'Shift',17: 'Ctrl',18: 'Alt',19: 'Pause',
						20: 'Caps Lock',27: 'ESC',32: 'Space bar',33: 'Page Up',34: 'Page Down',35: 'End',36: 'Home',
						37: 'Left',38: 'Up',39: 'Right',40: 'Down',45: 'Insert',46: 'Delete',96: '0 (ext)',97: '1 (ext)',
						98: '2 (ext)',99: '3 (ext)',100: '4 (ext)',101: '5 (ext)',102: '6 (ext)',105: '9 (ext)',106: '* (ext)',
						107: '+ (ext)',104: '8 (ext)',103: '7 (ext)',110: '. (ext)',111: '/ (ext)',112: 'F1',113: 'F2',114: 'F3',
						115: 'F4',116: 'F5',117: 'F6',118: 'F7',119: 'F8',120: 'F9',121: 'F10',122: 'F11',123: 'F12',144: 'Num Lock',
						186: ';',188: ',',190: '.',191: '/',192: '`',219: '[',220: '|',221: ']',222: "'",189: '-',187: '+',145: 'Scrol Lock' };
		var bxHotKeyCode=0;
		var inputKeyCode=0;
		var inputDopString="";

		this.ArrHKCode=[];
		this.MesNotAssign="";
		this.MesClToChange="";
		this.MesClean="";
		this.MesBusy="";
		this.MesClose="";
		this.MesSettings="";
		this.MesDefault="";
		this.MesDelAll="";
		this.MesDelete="";
		this.MesDelConfirm="";
		this.MesDefaultConfirm="";
		this.MesExport="";
		this.MesExpFalse="";
		this.MesImport="";
		this.MesImpFalse="";
		this.MesImpSuc="";
		this.MesImpHeader="";
		this.MesFileEmpty="";
		this.MesChooseFile="";
		this.uid="";
		this.deleting = false;
		this.keyStrokes = {};
		this.keyStrokesInit = false;

		this.Init = function()
		{
			this.Register();
		};

		// keysString: Ctrl+Alt+Shift+KeyCode
		this.UpdateKS = function(codeId, keysString)
		{
			for(var i=0; i<this.ArrHKCode.length; i++)
			{
				if(this.ArrHKCode[i][idxCodeId] == codeId)
				{
					this.ArrHKCode[i][idxKS] = keysString;
					this.keyStrokesInit = false;
					return true;
				}
			}
		};

		this.UpdateHk = function(codeId, hkId)
		{
			for(var i=0; i<this.ArrHKCode.length; i++)
			{
				if(this.ArrHKCode[i][idxCodeId] == codeId)
				{
					this.ArrHKCode[i][idxHKId] = hkId;
					return i;
				}
			}

			return (-1);
		};

		this.Add = function(keysString, execCode, codeId, name, hkId)
		{
			for(var i=0; i<this.ArrHKCode.length; i++)
				if(this.ArrHKCode[i][idxCodeId] == codeId)
					return false;

			this.keyStrokesInit = false;

			return this.ArrHKCode.push([String(keysString), String(execCode), codeId, String(name), hkId]);
		};

		// keysString: Ctrl+Alt+Shift+KeyCode
		this.GetExCode = function(keysString)
		{
			var ret = "";
			if(keysString)
			{
				if(this.keyStrokesInit == false)
				{
					this.keyStrokes = {};
					this.keyStrokesInit = true;
					for (var i = 0; i < this.ArrHKCode.length; i++)
					{
						var ks = this.ArrHKCode[i][idxKS];
						if(ks != '')
						{
							if(!this.keyStrokes[ks])
							{
								this.keyStrokes[ks] = '';
							}
							else
							{
								this.keyStrokes[ks] += ' ';
							}
							this.keyStrokes[ks] += this.ArrHKCode[i][idxCode];
						}
					}
				}

				if(this.keyStrokes[keysString])
				{
					ret = this.keyStrokes[keysString];
				}
			}

			return ret;
		};

		this.MakeKeyString = function(Event)
		{
			this.inputDopString = (Event.ctrlKey ? 'Ctrl+':'') + (Event.altKey ? 'Alt+':'') + (Event.shiftKey ? 'Shift+':'');
			this.inputKeyCode = Event.keyCode;

			if(!this.inputKeyCode)
				this.inputKeyCode = Event.charCode;

			return this.inputDopString + this.inputKeyCode;
		};

		this.ShowMenu = function()
		{
			return '<table class="bx-hk-settings-toolbar" cellspacing="0" cellpadding="0" border="0">'+
				'<tr><td class="bx-left"><div class="bx-hk-settings-empty"></div></td>'+
				'<td class="bx-content">'+
				'<a class="bx-context-button" hidefocus="true" href="javascript:void(0)" onclick="BXHotKeys.Import();">'+
				'<span class="bx-context-button-icon btn-import"></span>'+
				'<span class="bx-context-button-text">'+this.MesImport+'</span>'+
				'</a>'+
				'<a class="bx-context-button" hidefocus="true" href="javascript:void(0)" onclick="BXHotKeys.Export();">'+
				'<span class="bx-context-button-icon btn-export"></span>'+
				'<span class="bx-context-button-text">'+this.MesExport+'</span>'+
				'</a>'+
				'<a class="bx-context-button" hidefocus="true" href="javascript:void(0)" onclick="if(confirm(BXHotKeys.MesDelConfirm)) BXHotKeys.DelAll();">'+
				'<span class="bx-context-button-icon btn-delall"></span>'+
				'<span class="bx-context-button-text">'+this.MesDelAll+'</span>'+
				'</a>'+
				'<a class="bx-context-button" hidefocus="true" href="javascript:void(0)" onclick="if(confirm(BXHotKeys.MesDefaultConfirm)) { BXHotKeys.DelAll(); BXHotKeys.SetDefault(); }">'+
				'<span class="bx-context-button-icon btn-default"></span>'+
				'<span class="bx-context-button-text">'+this.MesDefault+'</span>'+
				'</a></td>'+
				'<td class="bx-right"><div class="bx-hk-settings-empty"></div></td></tr>'+
				'</table>';
		};

		this.ShowSettings = function()
		{
			var formText ='<table width="100%" id="tbl_hk_settings">';
			var keyStr="";
			var editStr="";

			for(var i=0; i<this.ArrHKCode.length; i++)
			{
				if(this.ArrHKCode[i][idxKS])
					keyStr=this.PrintKSAsChar(this.ArrHKCode[i][idxKS]);
				else
					keyStr=this.MesNotAssign;

				if(this.ArrHKCode[i][idxCode])
					editStr = "<td width='30%' id='hotkeys-float-form-"+this.ArrHKCode[i][idxCodeId]+"'><a href='javascript:void(0)' onclick='BXHotKeys.SubstInput("+this.ArrHKCode[i][idxCodeId]+", "+
							this.ArrHKCode[i][idxHKId]+", \""+this.ArrHKCode[i][idxKS]+"\");' title='"+this.MesClToChange+"' class='bx-hk-settings'>"+keyStr+"</a></td><td width='10%' align='right' id='hotkeys-float-form-del-"+this.ArrHKCode[i][idxCodeId]+"'><a href='javascript:void(0)' onclick='BXHotKeys.DeleteBase("+
							this.ArrHKCode[i][idxCodeId]+","+this.ArrHKCode[i][idxHKId]+");' class='hk-delete-icon' title='"+this.MesDelete+"'></a></td>";
				else
					editStr ="<td width='30%'>&nbsp;</td><td width='10%'>&nbsp</td>";

				formText+="<tr class = 'bx-hk-settings-row'><td width='60%'>"+this.ArrHKCode[i][idxName]+"</td>"+editStr+"</tr>";
			}

			formText+='</table>';

			var btnClose = new BX.CWindowButton({
				'title': this.MesClose,
				'action': function() { this.parentWindow.Close(); }
			});

			var obWnd = new BX.CDialog({
							title: this.MesSettings,
							content: formText,
							buttons: [btnClose],
							width: 500,
							height: 400,
							resizable: false
						});

			this.tblSettParent=BX("tbl_hk_settings").parentNode;
			BX.addCustomEvent(obWnd, 'onWindowClose', function(obWnd) {
																		obWnd.DIV.parentNode.removeChild(obWnd.DIV);
																		_this.Register();
																	});

			//some customization to standart BX.CDialog
			var hk_menu_div = document.createElement("div");
			hk_menu_div.className = "bx-hk-settings-toolbar";
			hk_menu_div.innerHTML = this.ShowMenu();

			var dialog_head = BX.findChild(obWnd.DIV, {attribute: {'class': 'bx-core-adm-dialog-content'}}, true );

			if(dialog_head)
			{
				dialog_head.appendChild(hk_menu_div);
				BX.findChild(obWnd.DIV, {attribute: {'class': 'bx-core-adm-dialog-content'}}, true ).style.marginTop="37px";
			}
			else // ie quirck mode
			{
				this.hk_getElementsByClass("bx-core-adm-dialog-head")[0].appendChild(hk_menu_div);
				this.hk_getElementsByClass("bx-hk-settings-toolbar",obWnd.DIV,"div")[0].style.width = "480px";
			}

			obWnd.Show();

			this.Unregister();
		};

		this.hk_getElementsByClass = function(className, node, tag)
		{
			node = node || document;
			tag = tag || '*';
			var list = node.getElementsByTagName(tag),
			length = list.length,
			result = [], i;
			for(i = 0; i < length; i++)
			{
				if(list[i].className == className)
				{
					result.push(list[i]);
					break;
				}
			}
			return result
		};

		this.DelAll = function()
		{
			_this.deleting = true;

			for(var i=0; i<this.ArrHKCode.length; i++)
			{
				_this.UpdateKS(this.ArrHKCode[i][idxCodeId],"");
				_this.UpdateHk(this.ArrHKCode[i][idxCodeId],0);
				_this.SubstAnch(this.ArrHKCode[i][idxCodeId], 0,"");
				_this.SubstDel(this.ArrHKCode[i][idxCodeId],0);
			}

			var request = new JCHttpRequest;
			var options_url = '/bitrix/admin/hot_keys_act.php?hkaction=delete_all';
			var sParam = "&sessid="+phpVars.bitrix_sessid;
			request.Action = function (result)
			{
				_this.deleting = false;
			};

			request.Post(options_url, sParam);
		};

		this.Register = function()
		{
			try //reautorization gives unstable error
			{
				jsUtils.addEvent(document, 'keypress', _this.KeyPressHandler);
				jsUtils.addEvent(document, 'keydown', _this.KeyDownHandler);
			}
			catch (e)
			{
				//nothing
			}
		};

		this.Unregister = function()
		{
			jsUtils.removeEvent(document, 'keypress', _this.KeyPressHandler);
			jsUtils.removeEvent(document, 'keydown', _this.KeyDownHandler);
		};

		this.SetDefault = function()
		{
			var request = new JCHttpRequest;
			var options_url = '/bitrix/admin/hot_keys_act.php?hkaction=set_default';
			var sParam = "&sessid="+phpVars.bitrix_sessid;

			request.Action = function (strDefHK)
			{
				if(strDefHK)
				{
					if(!strDefHK)
						return false;

					var arHK=[];
					var row="";
					var arStrHK=strDefHK.split(";;");

					for(var i=0; i<arStrHK.length; i++)
					{
						arHK=arStrHK[i].split("::");
						row=_this.UpdateHk(arHK[0],arHK[1]);
						if (row>=0)
						{
							_this.UpdateKS(arHK[0],arHK[2]);
							_this.SubstAnch(arHK[0],arHK[1],arHK[2]);
							_this.SubstDel(arHK[0],arHK[1]);
						}
					}
				}
			};

			//waiting while deleting hot-keys
			waiter =
				{
					func: function()
					{
						if (!(this.deleting))
						{
							request.Post(options_url, sParam);
							clearInterval(intervalID);
						}
					}
				};
			intervalID = window.setInterval(function(){ waiter.func.call(waiter) }, 1000);
		};

		this.IsKeysBusy = function(strKeyString,code_id)
		{
			for(var i=0; i<this.ArrHKCode.length; i++)
				if (this.ArrHKCode[i][idxKS]==strKeyString && this.ArrHKCode[i][idxCodeId]!=code_id)
					return true;

			return false;
		};

		this.SubstInput = function(code_id, hk_id, keysString)
		{

			var td = document.getElementById('hotkeys-float-form-'+code_id);

			if(!td)
				return false;

			td.innerHTML='';
			td.innerHTML = '<input type="text" class="adm-input" name="HUMAN_KEYS_STRING" size="10" maxlength="30" value="'+this.PrintKSAsChar(keysString)+'" id="HKeysString" autocomplete="off">'+
							'<input type="hidden" name="KEYS_STRING" value="'+keysString+'" id="KeysString">';

			var inpHKString = document.getElementById("HKeysString");
			var inpKString = document.getElementById("KeysString");

			inpHKString .onkeydown  = _this.SetInput;
			inpHKString .onkeypress = _this.SetInput;
			inpHKString .onkeyup = function ()
			{
				ShowWaitWindow();

				inpHKString .onblur ="";

				if(_this.IsKeysBusy(inpKString.value,code_id))
					if(!confirm(_this.MesBusy))
					{
						_this.SubstAnch(code_id, hk_id, keysString);
						return false;
					}


				_this.bxHotKeyCode=0;

				_this.UpdateKS(code_id,inpKString.value);

				if(hk_id)
				{
					_this.UpdateHk(code_id,hk_id);
					_this.UpdateBase(hk_id,inpKString.value);
				}
				else
					_this.AddBase(code_id,inpKString.value);

				_this.SubstAnch(code_id, hk_id, inpKString.value);

				CloseWaitWindow();
			};

			inpHKString.focus();

			inpHKString.onblur = function ()
			{
				_this.SubstAnch(code_id, hk_id, keysString);
			}
		};

		this.SubstAnch = function(code_id, hk_id, keysString)
		{
			var td = document.getElementById('hotkeys-float-form-'+code_id);
			if(td)
				td.innerHTML = "<a href='javascript:void(0)' onclick='BXHotKeys.SubstInput("+code_id+", "+hk_id+", \""+keysString+"\");' title='"+this.MesClToChange+"' class='bx-hk-settings'>"+(keysString ? this.PrintKSAsChar(keysString) : this.MesNotAssign)+"</a>";
		};

		this.SubstDel = function(code_id, hk_id)
		{
			var td = document.getElementById('hotkeys-float-form-del-'+code_id);
			if (td)
				td.innerHTML = "<a href='javascript:void(0)' onclick='BXHotKeys.DeleteBase("+code_id+","+hk_id+");' class='hk-delete-icon' title='"+this.MesDelete+"'></a>";
		};


		this.AddBase = function(code_id,keysString)
		{
			var request = new JCHttpRequest;
			var options_url = '/bitrix/admin/hot_keys_act.php?hkaction=add';
			var sParam = "&KEYS_STRING="+encodeURIComponent(keysString)+"&CODE_ID="+code_id+"&USER_ID="+_this.uid+"&sessid="+phpVars.bitrix_sessid;
			request.Action = function (hk_id)
			{
				if(hk_id && (hk_id == Number(hk_id)))
				{
					var row =_this.UpdateHk(code_id,hk_id);
					if (row>=0)
					{
						_this.SubstAnch(code_id, hk_id,keysString);
						_this.SubstDel(code_id, hk_id);
					}
				}
			};
			request.Post(options_url, sParam);
		};

		this.Export = function()
		{
			window.open("/bitrix/admin/hot_keys_act.php?hkaction=export&sessid="+phpVars.bitrix_sessid);
		};

		this.OnFileInputChange = function(ob)
		{
			fileName = ob.value;
			fileName = fileName.replace(/\\/g, '/');
			fileName = fileName.substr(fileName.lastIndexOf("/")+1);

			if(ob.parentNode.childNodes[0].textContent)
				ob.parentNode.childNodes[0].textContent = fileName;
			else
				ob.parentNode.childNodes[0].innerText = fileName;
		};

		this.Import = function()
		{
			var formText = 	'<form action="/bitrix/admin/hot_keys_act.php?hkaction=import" method="post" enctype="multipart/form-data" target="upload_iframe" id="hk_import_form" name="hk_import_form">'+
							'<input type="hidden" name="sessid" value="'+BX.bitrix_sessid()+'">'+
							'<span class="adm-input-file"><span>'+this.MesChooseFile+'</span><input type="file" name="bx_hk_filename" id="bx_hk_filename" class="adm-designed-file" onchange="BXHotKeys.OnFileInputChange(this);"></span>'+
							'</form>'+
							'<iframe id="upload_iframe" name="upload_iframe" style="display:none"></iframe>';

			var btnClose = new BX.CWindowButton({
				'title': this.MesClose,
				'action': function() { this.parentWindow.Close(); }
			});

			var btnImport = new BX.CWindowButton({
				'title': this.MesImport,
				'action': function()
									{
										if(!BX('bx_hk_filename').value)
										{
											alert(_this.MesFileEmpty);
											return;
										}

										BX('hk_import_form').submit();
										ShowWaitWindow();
									}
			});


			var impWnd = new BX.CDialog({
							title: this.MesImpHeader,
							content: formText,
							buttons: [btnImport,btnClose],
							width: 300,
							height: 60,
							resizable: false
						});

			impWnd.Show();

		};

		this.OnImportResponse = function(hkNum)
		{
			if(hkNum)
				alert(_this.MesImpSuc+hkNum);
			else
				alert(_this.MesImpFalse);

			BX.reload();
		};

		this.UpdateBase = function(hk_id, keysString)
		{
			var request = new JCHttpRequest;
			var options_url = '/bitrix/admin/hot_keys_act.php?hkaction=update';
			var sParam = "&KEYS_STRING="+encodeURIComponent(keysString)+"&ID="+hk_id+"&sessid="+phpVars.bitrix_sessid;
			request.Post(options_url, sParam);
		};

		this.DeleteBase = function(code_id, hk_id)
		{
			if(hk_id)
			{
				var request = new JCHttpRequest;
				var options_url = '/bitrix/admin/hot_keys_act.php?hkaction=delete';
				var sParam = "&ID="+hk_id+"&sessid="+phpVars.bitrix_sessid;
				request.Post(options_url, sParam);
				_this.UpdateKS(code_id,"");
				_this.UpdateHk(code_id,0);
				_this.SubstAnch(code_id, 0,"");
				_this.SubstDel(code_id,0);
			}
		};

		this.PrintKSAsChar = function(strKeysString)
		{
			if(!strKeysString)
				return "";

			var lastPlus = strKeysString.lastIndexOf("+");
			if(lastPlus)
			{
				var charCode = strKeysString.substr(lastPlus+1,strKeysString.length - (lastPlus+1));
				var preChar = strKeysString.substr(0,lastPlus+1);
				if(charCode==16 || charCode==17 || charCode==18)
					return preChar.substr(0,preChar.length-1);
			}
			else
			{
				charCode = strKeysString;
				preChar = "";
			}

			var codeSymb=arServSymb[charCode];
			if(!codeSymb)
				codeSymb = String.fromCharCode(charCode);

			return preChar+codeSymb;
		};

		this.SetInput = function(e)
		{
			e = e || event;

			var inputDopString = (e.ctrlKey ? 'Ctrl+':'') + (e.altKey ? 'Alt+':'') + (e.shiftKey ? 'Shift+':'');

			if(e.keyCode && e.type!="keypress")
				_this.bxHotKeyCode = e.keyCode;

			var charCode;
			if(e.charCode==undefined)
				charCode = e.which;
			else
				charCode = e.charCode;

			if (charCode && (!_this.bxHotKeyCode || _this.bxHotKeyCode==17 || _this.bxHotKeyCode==18 || _this.bxHotKeyCode==16 || _this.bxHotKeyCode==224))
				_this.bxHotKeyCode = charCode;

			document.getElementById("KeysString").value = inputDopString + _this.bxHotKeyCode;
			document.getElementById("HKeysString").value = _this.PrintKSAsChar(document.getElementById("KeysString").value);
			return false;
		};

		//Key-handlers
		this.KeyPressHandler = function(e)
		{
			e = e || event;

			if(e.charCode > 256)
			{
				var ExCode=_this.GetExCode(_this.MakeKeyString(e));

				if (ExCode)
					eval(ExCode);
			}
		};

		this.KeyDownHandler = function(e)
		{
			e = e || event;

			var ExCode=_this.GetExCode(_this.MakeKeyString(e));

			if (ExCode)
				eval(ExCode);
		}
	}

	var BXHotKeys = new CBXHotKeys;
	BXHotKeys.Init();
	window.BXHotKeys = BXHotKeys;
}


Youez - 2016 - github.com/yon3zu
LinuXploit