AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.226.177.12
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/modules/main/install/js/main/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/modules/main/install/js/main/file_dialog.js
var BXFileDialog = function()
{
	this.name = 'BXFileDialog';
	this.height = 476;
	this.width = 750;
};

BXFileDialog.prototype =
{
	Open: function(oConfig, UserConfig, dublReq)
	{
		if (!oConfig || !UserConfig)
		{
			alert('Error: Wrong params!');
			return;
		}

		if (window.oBXFileDialog && oBXFileDialog.bOpened)
			return;

		this.SetFocus('name');
		this.oConfig = oConfig;

		this.UserConfig = UserConfig;
		this.LastSavedConfig =
		{
			site : this.UserConfig.site,
			path : this.UserConfig.path,
			view : this.UserConfig.view,
			sort : this.UserConfig.sort,
			sort_order : this.UserConfig.sort_order
		};

		this.sessid = oConfig.sessid;
		this.bSelectFiles = oConfig.select.indexOf('F') !== -1;
		this.bSelectDirs = oConfig.select.indexOf('D') !== -1;

		this.RequestUrl = this.GetRequestUrl();
		this.bOpened = true;

		var div;
		var bCached = (window.fd_float_div_cached && this.CheckReConfig());
		if (bCached)
		{
			div = document.body.appendChild(window.fd_float_div_cached);
		}
		else
		{
			if(BX("BX_file_dialog"))
				this.Close();

			div = document.body.appendChild(document.createElement("DIV"));
			div.id = "BX_file_dialog";
			div.className = "editor_dialog";
			div.style.position = 'absolute';
			div.style.zIndex = oConfig.zIndex || 2300;
			div.style.overflow = 'hidden';

			div.innerHTML =
				'<div class="title">'+
				'<table cellspacing="0" width="100%" border="0">'+
				'	<tr>'+
				'		<td width="100%" class="title-text" onmousedown="jsFloatDiv.StartDrag(arguments[0], BX(\'BX_file_dialog\'));" id="BX_file_dialog_title">Title</td>'+
				'		<td width="0%"><a id="BX_file_dialog_close" class="close" href="javascript:oBXFileDialog.Close();" onclick="oBXFileDialog.Close(); return false;"></a></td></tr>'+
				'</table>'+
				'</div>'+
				'<div class="content">'+
				'</div>';
		}
		div.style.width = parseInt(this.width) + 'px';
		div.style.height = parseInt(this.height) + 'px';
		this.floatDiv = div;
		this.content = jsUtils.FindChildObject(this.floatDiv, 'div', 'content');

		oDialogTitle = BX('BX_editor_dialog_title');
		var ShowDialog = function(innerHTML)
		{
			CloseWaitWindow();

			if (innerHTML)
			{
				if (innerHTML.indexOf('BX_FD_LOAD_OK') == -1)
				{
					alert(mess_ACCESS_DENIED);
					return;
				}

				var new_sess = oBXFileDialog.CheckReqLostSessid(innerHTML);
				if (new_sess !== true)
				{
					if (dublReq)
					{
						alert(mess_SESS_EXPIRED);
						return;
					}
					document.body.removeChild(div);
					oBXFileDialog.sessid = new_sess;
					oBXFileDialog.RequestUrl = oBXFileDialog.GetRequestUrl();
					oBXFileDialog.Open(oConfig, UserConfig, true);
					return;
				}
				oBXFileDialog.content.innerHTML = innerHTML;
			}

			var
				w = jsUtils.GetWindowSize(),
				left = parseInt(w.scrollLeft + w.innerWidth / 2 - div.offsetWidth / 2),
				top = parseInt(w.scrollTop + w.innerHeight / 2 - div.offsetHeight / 2);

			jsFloatDiv.Show(div, left, top);
			BX.addCustomEvent(window, 'onFileDialogLoaded', function(){
				if (window.oBXDialogTree)
					oBXDialogTree.SetPath(oConfig.path || UserConfig.path || '');
			});

			BX.onCustomEvent(window, 'onAfterFileDialogShow');
		};
		ShowWaitWindow();

		this.SetEventHandlers();
		if (bCached)
		{
			this.reConfigDialog();
			ShowDialog();
			return;
		}

		BX.ajax.get(this.RequestUrl + '&action=start&path=' + this.oConfig.path + '&add_to_menu=' + (this.oConfig.showAddToMenuTab ? '1' : ''), ShowDialog);
	},

	CheckReConfig: function()
	{
		return !(
			BX.browser.IsIE() ||
			this.oConfig.operation != window.fd_config_cached.operation ||
			this.oConfig.allowAllFiles != window.fd_config_cached.allowAllFiles ||
			this.oConfig.select != window.fd_config_cached.select ||
			this.oConfig.lang != window.fd_config_cached.lang ||
			this.oConfig.showAddToMenuTab != window.fd_config_cached.showAddToMenuTab ||
			this.oConfig.showUploadTab != window.fd_config_cached.showUploadTab ||
			this.oConfig.site != window.fd_config_cached.site
		);
	},

	reConfigDialog: function()
	{
		if (this.oConfig.fileFilter != window.fd_config_cached.fileFilter)
			oBXDialogControls.Filter = new __FileFilter();
		var path = this.oConfig.path || this.UserConfig.path || '';
		oBXFileDialog.SubmitFileDialog = SubmitFileDialog;

		if(this.oConfig.operation == 'S' && this.oConfig.showAddToMenuTab && !window.oBXMenuHandling)
			window.oBXMenuHandling = new BXMenuHandling();

		oBXDialogTree.SetPath(path);
		//oBXDialogWindow.LoadFolderContent(path);
		//oBXDialogTree.focusOnSelectedElment();
	},

	Close: function()
	{
		this.SaveConfig();
		if (window.oBXFDContextMenu)
			oBXFDContextMenu.menu.PopupHide();
		var oDiv = BX("BX_file_dialog");
		jsFloatDiv.Close(oDiv);
		oBXFileDialog.bOpened = false;
		jsFloatDiv.Close(this.floatDiv);
		oDiv.parentNode.removeChild(oDiv);
		window.fd_float_div_cached = this.floatDiv;
		window.fd_config_cached = this.oConfig;
		this.UnsetEventHandlers();
		if (window.fd_site_list && window.fd_site_list.PopupHide)
			window.fd_site_list.PopupHide();

		if (oBXDialogTree.curSelectedItem)
		{
			oBXDialogTree.UnHighlightElement(oBXDialogTree.curSelectedItem.oTitle);
		}
		oBXDialogTree.curSelectedItem = null;
	},

	GetRequestUrl: function(site, sessid)
	{
		return '/bitrix/admin/file_dialog.php?'
			+ 'lang=' + this.oConfig.lang
			+ '&operation=' + this.oConfig.operation
			+ '&site=' + (site || this.oConfig.site)
			+ '&sessid=' + (sessid || this.sessid)
			+ '&get_files=' + (this.bSelectFiles ? 1 : '')
		;
	},

	CheckReqLostSessid: function(result)
	{
		var
			LSS = 'BX_FD_DUBLICATE_ACTION_REQUEST',
			LSSIndex = result.indexOf(LSS);

		if (LSSIndex == -1)
			return true;

		var i1 = LSSIndex + LSS.length;
		return result.substr(i1, result.indexOf('-->') - i1);
	},

	SaveConfig: function(oConfig)
	{
		if (!oConfig)
			oConfig = oBXFileDialog.UserConfig;
		else
			oBXFileDialog.UserConfig = oConfig;

		if (!this.oConfig.saveConfig || !oConfig || !window.BXFDCompareObj || BXFDCompareObj(this.LastSavedConfig, oConfig))
			return;
		var sc = new JCHttpRequest();
		sc.Action = function(result){oBXFileDialog.LastSavedConfig = BXFDCopyObj(oConfig);};
		sc.Send(oBXFileDialog.GetRequestUrl(getSite()) + '&action=set_config&path=' + jsUtils.urlencode(oConfig.path) + '&view=' + oConfig.view + '&sort=' + oConfig.sort + '&sort_order=' + oConfig.sort_order);
	},

	SetFocus: function(focus)
	{
		this.dialogFocus = focus; // Can be: name, path, tree, window
	},

	SetEventHandlers : function()
	{
		window.BXFD_OnKeyDown = function(e){return oBXFileDialog.OnKeyDown(e);};
		jsUtils.addEvent(document, "keydown", window.BXFD_OnKeyDown);
	},

	UnsetEventHandlers : function()
	{
		jsUtils.removeEvent(document, "keydown", window.BXFD_OnKeyDown);
	},

	OnKeyDown : function(e)
	{
		if(!e)
			e = window.event;
		if(!e || e.shiftKey || e.ctrlKey || e.altKey)
			return;
		if (this.dialogFocus == 'tree')
		{
			oBXDialogTree.OnKeyDown(e);
		}
		else if (this.dialogFocus == 'window')
		{
			oBXDialogWindow.OnKeyDown(e);
		}
		else
		{
			if (e.keyCode == 27)
				this.Close();
			if (e.keyCode == 13)
			{
				if(e.target)
					e.targetElement = e.target;
				else if(e.srcElement)
					e.targetElement = e.srcElement;

				if (window.oBXDialogControls && e.targetElement == oBXDialogControls.dirPath.oInput)
					oBXDialogTree.SetPath(oBXDialogControls.dirPath.Get());
			}
		}
	}
};


Anon7 - 2022
AnonSec Team