__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/**
* @class elFinder command "empty".
* Empty the folder
*
* @type elFinder.command
* @author Naoki Sawada
*/
elFinder.prototype.commands.empty = function() {
"use strict";
var self, fm,
selFiles = function(select) {
var sel = self.files(select);
if (!sel.length) {
sel = [ fm.cwd() ];
}
return sel;
};
this.linkedCmds = ['rm'];
this.init = function() {
// lazy assign to make possible to become superclass
self = this;
fm = this.fm;
};
this.getstate = function(select) {
var sel = selFiles(select),
cnt,
filter = function(files) {
var fres = true;
return jQuery.grep(files, function(f) {
fres = fres && f.read && f.write && f.mime === 'directory' ? true : false;
return fres;
});
};
cnt = sel.length;
return filter(sel).length == cnt ? 0 : -1;
};
this.exec = function(hashes) {
var dirs = selFiles(hashes),
cnt = dirs.length,
dfrd = jQuery.Deferred()
.done(function() {
var data = {changed: {}};
fm.toast({msg: fm.i18n(['"'+success.join('", ')+'"', 'complete', fm.i18n('cmdempty')])});
jQuery.each(dirs, function(i, dir) {
data.changed[dir.hash] = dir;
});
fm.change(data);
})
.always(function() {
var cwd = fm.cwd().hash;
fm.trigger('selectfiles', {files: jQuery.map(dirs, function(d) { return cwd === d.phash? d.hash : null; })});
}),
success = [],
done = function(res) {
if (typeof res === 'number') {
success.push(dirs[res].name);
delete dirs[res].dirs;
} else {
res && fm.error(res);
}
(--cnt < 1) && dfrd[success.length? 'resolve' : 'reject']();
};
jQuery.each(dirs, function(i, dir) {
var tm;
if (!(dir.write && dir.mime === 'directory')) {
done(['errEmpty', dir.name, 'errPerm']);
return null;
}
if (!fm.isCommandEnabled('rm', dir.hash)) {
done(['errCmdNoSupport', '"rm"']);
return null;
}
tm = setTimeout(function() {
fm.notify({type : 'search', cnt : 1, hideCnt : cnt > 1? false : true});
}, fm.notifyDelay);
fm.request({
data : {cmd : 'open', target : dir.hash},
preventDefault : true,
asNotOpen : true
}).done(function(data) {
var targets = [];
tm && clearTimeout(tm);
if (fm.ui.notify.children('.elfinder-notify-search').length) {
fm.notify({type : 'search', cnt : -1, hideCnt : cnt > 1? false : true});
}
if (data && data.files && data.files.length) {
if (data.files.length > fm.maxTargets) {
done(['errEmpty', dir.name, 'errMaxTargets', fm.maxTargets]);
} else {
fm.updateCache(data);
jQuery.each(data.files, function(i, f) {
if (!f.write || f.locked) {
done(['errEmpty', dir.name, 'errRm', f.name, 'errPerm']);
targets = [];
return false;
}
targets.push(f.hash);
});
if (targets.length) {
fm.exec('rm', targets, { _userAction : true, addTexts : [ fm.i18n('folderToEmpty', dir.name) ] })
.fail(function(error) {
fm.trigger('unselectfiles', {files: fm.selected()});
done(fm.parseError(error) || '');
})
.done(function() { done(i); });
}
}
} else {
fm.toast({ mode: 'warning', msg: fm.i18n('filderIsEmpty', dir.name)});
done('');
}
}).fail(function(error) {
done(fm.parseError(error) || '');
});
});
return dfrd;
};
};
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| archive.js | File | 2.47 KB | 0640 |
|
| back.js | File | 512 B | 0640 |
|
| chmod.js | File | 9.37 KB | 0640 |
|
| colwidth.js | File | 480 B | 0640 |
|
| copy.js | File | 986 B | 0640 |
|
| cut.js | File | 1.12 KB | 0640 |
|
| download.js | File | 16.61 KB | 0640 |
|
| duplicate.js | File | 1.36 KB | 0640 |
|
| edit.js | File | 34.48 KB | 0640 |
|
| empty.js | File | 3.32 KB | 0640 |
|
| extract.js | File | 5.18 KB | 0640 |
|
| forward.js | File | 509 B | 0640 |
|
| fullscreen.js | File | 1.05 KB | 0640 |
|
| getfile.js | File | 4.07 KB | 0640 |
|
| help.js | File | 14.21 KB | 0640 |
|
| hidden.js | File | 276 B | 0640 |
|
| hide.js | File | 4.26 KB | 0640 |
|
| home.js | File | 528 B | 0640 |
|
| info.js | File | 13.13 KB | 0640 |
|
| mkdir.js | File | 2.51 KB | 0640 |
|
| mkfile.js | File | 1.64 KB | 0640 |
|
| netmount.js | File | 10.43 KB | 0640 |
|
| open.js | File | 6.78 KB | 0640 |
|
| opendir.js | File | 886 B | 0640 |
|
| opennew.js | File | 1.21 KB | 0640 |
|
| paste.js | File | 10.17 KB | 0640 |
|
| places.js | File | 773 B | 0640 |
|
| preference.js | File | 21.37 KB | 0640 |
|
| quicklook.js | File | 23.87 KB | 0640 |
|
| quicklook.plugins.js | File | 58.51 KB | 0640 |
|
| reload.js | File | 1.86 KB | 0640 |
|
| rename.js | File | 15.92 KB | 0640 |
|
| resize.js | File | 52.17 KB | 0640 |
|
| restore.js | File | 7.45 KB | 0640 |
|
| rm.js | File | 14.42 KB | 0640 |
|
| search.js | File | 4.01 KB | 0640 |
|
| selectall.js | File | 606 B | 0640 |
|
| selectinvert.js | File | 471 B | 0640 |
|
| selectnone.js | File | 530 B | 0640 |
|
| sort.js | File | 4.32 KB | 0640 |
|
| undo.js | File | 3.62 KB | 0640 |
|
| up.js | File | 710 B | 0640 |
|
| upload.js | File | 12.4 KB | 0640 |
|
| view.js | File | 2.8 KB | 0640 |
|