| Server IP : 172.67.201.108 / Your IP : 216.73.216.76 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/etdchicago/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);
}
}