| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,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,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.2/wp-content/plugins/wp-file-manager/lib/js/commands/ |
Upload File : |
/**
* @class elFinder command "duplicate"
* Create file/folder copy with suffix "copy Number"
*
* @type elFinder.command
* @author Dmitry (dio) Levashov
*/
elFinder.prototype.commands.duplicate = function() {
"use strict";
var fm = this.fm;
this.getstate = function(select) {
var sel = this.files(select),
cnt = sel.length,
filter = function(files) {
var fres = true;
return jQuery.grep(files, function(f) {
fres = fres && f.read && f.phash === fm.cwd().hash && ! fm.isRoot(f)? true : false;
return fres;
});
};
return cnt && fm.cwd().write && filter(sel).length == cnt ? 0 : -1;
};
this.exec = function(hashes) {
var fm = this.fm,
files = this.files(hashes),
cnt = files.length,
dfrd = jQuery.Deferred()
.fail(function(error) {
error && fm.error(error);
}),
args = [];
if (! cnt) {
return dfrd.reject();
}
jQuery.each(files, function(i, file) {
if (!file.read || !fm.file(file.phash).write) {
return !dfrd.reject(['errCopy', file.name, 'errPerm']);
}
});
if (dfrd.state() == 'rejected') {
return dfrd;
}
return fm.request({
data : {cmd : 'duplicate', targets : this.hashes(hashes)},
notify : {type : 'copy', cnt : cnt},
navigate : {
toast : {
inbuffer : {msg: fm.i18n(['complete', fm.i18n('cmdduplicate')])}
}
}
});
};
};