SILENT KILLERPanel

Current Path: > home > codekrsu > > ameliagraphics.com > wp-content > plugins > wp-file-manager > lib > js > commands >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//ameliagraphics.com/wp-content/plugins/wp-file-manager/lib/js/commands/

NameTypeSizeLast ModifiedActions
archive.js File 2530 bytes December 28 2021 14:26:10.
back.js File 512 bytes May 14 2020 14:55:48.
chmod.js File 9591 bytes December 28 2021 14:26:10.
colwidth.js File 480 bytes May 25 2020 10:48:08.
copy.js File 986 bytes December 28 2021 14:26:10.
cut.js File 1146 bytes December 28 2021 14:26:10.
download.js File 17005 bytes December 28 2021 14:26:10.
duplicate.js File 1392 bytes December 28 2021 14:26:10.
edit.js File 35310 bytes April 19 2022 14:33:36.
empty.js File 3395 bytes December 28 2021 14:26:10.
extract.js File 5301 bytes December 28 2021 14:26:10.
forward.js File 509 bytes May 14 2020 14:55:48.
fullscreen.js File 1074 bytes September 01 2020 13:09:26.
getfile.js File 4163 bytes December 28 2021 14:26:10.
help.js File 14547 bytes December 28 2021 14:26:10.
hidden.js File 276 bytes May 14 2020 14:55:48.
hide.js File 4365 bytes May 25 2020 10:48:08.
home.js File 528 bytes May 14 2020 14:55:48.
info.js File 13447 bytes April 19 2022 14:33:36.
mkdir.js File 2574 bytes December 28 2021 14:26:10.
mkfile.js File 1675 bytes April 19 2022 14:33:36.
netmount.js File 10681 bytes September 01 2020 13:09:26.
open.js File 6947 bytes December 28 2021 14:26:10.
opendir.js File 886 bytes May 25 2020 10:48:08.
opennew.js File 1242 bytes May 25 2020 10:48:08.
paste.js File 10411 bytes May 25 2020 10:48:08.
places.js File 773 bytes December 28 2021 14:26:10.
preference.js File 21880 bytes April 19 2022 14:33:36.
quicklook.js File 24445 bytes May 25 2020 10:48:08.
quicklook.plugins.js File 59912 bytes February 08 2021 12:11:18.
reload.js File 1904 bytes May 25 2020 10:48:08.
rename.js File 16299 bytes May 25 2020 10:48:08.
resize.js File 53421 bytes December 28 2021 14:26:10.
restore.js File 7625 bytes May 25 2020 10:48:08.
rm.js File 14762 bytes December 28 2021 14:26:10.
search.js File 4110 bytes May 25 2020 10:48:08.
selectall.js File 606 bytes May 25 2020 10:48:08.
selectinvert.js File 471 bytes May 25 2020 10:48:08.
selectnone.js File 530 bytes May 25 2020 10:48:08.
sort.js File 4421 bytes May 25 2020 10:48:08.
undo.js File 3703 bytes May 25 2020 10:48:08.
up.js File 710 bytes May 25 2020 10:48:08.
upload.js File 12696 bytes December 28 2021 14:26:10.
view.js File 2868 bytes May 25 2020 10:48:08.

Reading File: /home/codekrsu//ameliagraphics.com/wp-content/plugins/wp-file-manager/lib/js/commands//extract.js

/**
 * @class  elFinder command "extract"
 * Extract files from archive
 *
 * @author Dmitry (dio) Levashov
 **/
 elFinder.prototype.commands.extract = function() {
	"use strict";
	var self    = this,
		fm      = self.fm,
		mimes   = [],
		filter  = function(files) {
			var fres = true;
			return jQuery.grep(files, function(file) { 
				fres = fres && file.read && jQuery.inArray(file.mime, mimes) !== -1 ? true : false;
				return fres;
			});
		};
	
	this.variants = [];
	this.disableOnSearch = true;
	
	// Update mimes list on open/reload
	fm.bind('open reload', function() {
		mimes = fm.option('archivers')['extract'] || [];
		if (fm.api > 2) {
			self.variants = [[{makedir: true}, fm.i18n('cmdmkdir')], [{}, fm.i18n('btnCwd')]];
		} else {
			self.variants = [[{}, fm.i18n('btnCwd')]];
		}
		self.change();
	});
	
	this.getstate = function(select) {
		var sel = this.files(select),
			cnt = sel.length,
			cwdHash, cwdChk;
		if (!cnt || filter(sel).length != cnt) {
			return -1;
		} else if (fm.searchStatus.state > 0) {
			cwdHash = this.fm.cwd().hash;
			jQuery.each(sel, function(i, file) {
				cwdChk = (file.phash === cwdHash);
				return cwdChk;
			});
			return cwdChk? 0 : -1;
		} else {
			return this.fm.cwd().write? 0 : -1;
		}
	};
	
	this.exec = function(hashes, opts) {
		var files    = this.files(hashes),
			dfrd     = jQuery.Deferred(),
			cnt      = files.length,
			makedir  = opts && opts.makedir ? 1 : 0,
			i, error,
			decision,

			overwriteAll = false,
			omitAll = false,
			mkdirAll = 0,
			siblings = fm.files(files[0].phash),

			names = [],
			map = {};

		jQuery.each(siblings, function(id, file) {
			map[file.name] = file;
			names.push(file.name);
		});
		
		var decide = function(decision) {
			switch (decision) {
				case 'overwrite_all' :
					overwriteAll = true;
					break;
				case 'omit_all':
					omitAll = true;
					break;
			}
		};

		var unpack = function(file) {
			if (!(file.read && fm.file(file.phash).write)) {
				error = ['errExtract', file.name, 'errPerm'];
				fm.error(error);
				dfrd.reject(error);
			} else if (jQuery.inArray(file.mime, mimes) === -1) {
				error = ['errExtract', file.name, 'errNoArchive'];
				fm.error(error);
				dfrd.reject(error);
			} else {
				fm.request({
					data:{cmd:'extract', target:file.hash, makedir:makedir},
					notify:{type:'extract', cnt:1},
					syncOnFail:true,
					navigate:{
						toast : makedir? {
							incwd    : {msg: fm.i18n(['complete', fm.i18n('cmdextract')]), action: {cmd: 'open', msg: 'cmdopen'}},
							inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmdextract')]), action: {cmd: 'open', msg: 'cmdopen'}}
						} : {
							inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmdextract')])}
						}
					}
				})
				.fail(function (error) {
					if (dfrd.state() != 'rejected') {
						dfrd.reject(error);
					}
				})
				.done(function () {
				});
			}
		};
		
		var confirm = function(files, index) {
			var file = files[index],
			name = fm.splitFileExtention(file.name)[0],
			existed = (jQuery.inArray(name, names) >= 0),
			next = function(){
				if((index+1) < cnt) {
					confirm(files, index+1);
				} else {
					dfrd.resolve();
				}
			};
			if (!makedir && existed && map[name].mime != 'directory') {
				fm.confirm(
					{
						title : fm.i18n('ntfextract'),
						text  : ['errExists', name, 'confirmRepl'],
						accept:{
							label : 'btnYes',
							callback:function (all) {
								decision = all ? 'overwrite_all' : 'overwrite';
								decide(decision);
								if(!overwriteAll && !omitAll) {
									if('overwrite' == decision) {
										unpack(file);
									}
									if((index+1) < cnt) {
										confirm(files, index+1);
									} else {
										dfrd.resolve();
									}
								} else if(overwriteAll) {
									for (i = index; i < cnt; i++) {
										unpack(files[i]);
									}
									dfrd.resolve();
								}
							}
						},
						reject : {
							label : 'btnNo',
							callback:function (all) {
								decision = all ? 'omit_all' : 'omit';
								decide(decision);
								if(!overwriteAll && !omitAll && (index+1) < cnt) {
									confirm(files, index+1);
								} else if (omitAll) {
									dfrd.resolve();
								}
							}
						},
						cancel : {
							label : 'btnCancel',
							callback:function () {
								dfrd.resolve();
							}
						},
						all : ((index+1) < cnt)
					}
				);
			} else if (!makedir) {
				if (mkdirAll == 0) {
					fm.confirm({
						title : fm.i18n('cmdextract'),
						text  : [fm.i18n('cmdextract')+' "'+file.name+'"', 'confirmRepl'],
						accept:{
							label : 'btnYes',
							callback:function (all) {
								all && (mkdirAll = 1);
								unpack(file);
								next();
							}
						},
						reject : {
							label : 'btnNo',
							callback:function (all) {
								all && (mkdirAll = -1);
								next();
							}
						},
						cancel : {
							label : 'btnCancel',
							callback:function () {
								dfrd.resolve();
							}
						},
						all : ((index+1) < cnt)
					});
				} else {
					(mkdirAll > 0) && unpack(file);
					next();
				}
			} else {
				unpack(file);
				next();
			}
		};
		
		if (!(this.enabled() && cnt && mimes.length)) {
			return dfrd.reject();
		}
		
		if(cnt > 0) {
			confirm(files, 0);
		}

		return dfrd;
	};

};

SILENT KILLER Tool