| Server IP : 5.144.175.180 / Your IP : 216.73.217.25 Web Server : Apache/2.4.63 (Unix) OpenSSL/1.1.1 System : Linux vpsgpz1.itsimplycom.it 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 User : edilchimica ( ) PHP Version : 7.4.33 Disable Function : getmyuid,passthru,leak,listen,diskfreespace,tmpfile,link,shell_exec,dl,exec,system,highlight_file,source,show_source,fpassthru,virtual,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,proc_open,proc_close,proc_nice,proc_terminate,escapeshellcmd,ini_alter,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,symlink,posix_geteuid,ini_alter,socket_listen,socket_create_listen,socket_read,socket_create_pair,stream_socket_server MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/edilchimica/webapps/edilchimica/wp-content/plugins/wp-file-manager/classes/ |
Upload File : |
<?php
class wp_file_manager_files_restore {
public function extract($source, $destination) {
if (extension_loaded('zip') === true) {
if (file_exists($source) === true) {
$zip = new ZipArchive();
$res = $zip->open($source);
if ($res === TRUE) {
$allfiles = [];
for($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
if (strpos($filename,'wp-file-manager') === false) {
$allfiles[] = $zip->getNameIndex($i);
}
}
$zip->extractTo($destination, $allfiles);
$zip->close();
$isLocal = explode(':\\',$destination);
$path = count($isLocal) > 1 ? str_replace(DIRECTORY_SEPARATOR,'/',$isLocal[1]) : str_replace(DIRECTORY_SEPARATOR,'/',$isLocal[0]);
if(is_dir($destination.'/'.$path)){
$is_copied = copy_dir( $destination.'/'.$path, $destination);
if($is_copied){
$folderarr = explode('/',$path);
if(is_dir($destination.'/'.$folderarr[0])){
$is_deleted = $this->fm_rmdir($destination.'/'.$folderarr[0]);
}
return true;
}
}
return true;
} else {
return false;
}
} else {
return false;
}
}
return false;
}
public function fm_rmdir($src) {
$dir = opendir($src);
while(false !== ( $file = readdir($dir)) ) {
if (( $file != '.' ) && ( $file != '..' )) {
$full = $src . '/' . $file;
if ( is_dir($full) ) {
$this->fm_rmdir($full);
}
else {
unlink($full);
}
}
}
closedir($dir);
rmdir($src);
}
}