$temp = gzTempfile($file); $temp = realpath($temp); include 'classes/class.tar.php'; $tar = new tar(); $tar->new_tar(dirname($temp), basename($temp)); $tar->extract_files(realpath($dir)); $err = $tar->error; $filesystem->unlink($temp); if (!empty($err)) { error($redirect, $err); } } elseif ($extension == 'tar') { include 'classes/class.tar.php'; $tar = new tar(); $file = realpath($file); $tar->new_tar(dirname($file), basename($file)); $tar->extract_files($dir); } elseif ($extension == 'gz') { gzAbortNotLoaded(); $new = $dir . DIRECTORY_SEPARATOR . basename($file); $temp = gzTempfile($file, $new); } } if (!isset($extension)) { error($redirect, 'File is not an supported archive. (Failed at position: setting extension)'); } else { ok($redirect); } } else { $ServerNavigator->useImageIcons(true); $ServerNavigator->showSubfoldersSize(true);
$temp = gzTempfile($file); $temp = realpath($temp); include 'classes/class.tar.php'; $tar = new tar(); $tar->new_tar(viscacha_dirname($temp), basename($temp)); $tar->extract_files(realpath($dir)); $err = $tar->error; $filesystem->unlink($temp); if (!empty($err)) { error($redirect, $err); } } elseif ($extension == 'tar') { include 'classes/class.tar.php'; $tar = new tar(); $file = realpath($file); $tar->new_tar(viscacha_dirname($file), basename($file)); $tar->extract_files($dir); } elseif ($extension == 'gz') { gzAbortNotLoaded(); $new = $dir . DIRECTORY_SEPARATOR . basename($file); $temp = gzTempfile($file, $new); } } if (!isset($extension)) { error($redirect, 'File is not an supported archive. (Failed at position: setting extension)'); } else { ok($redirect); } } else { $ServerNavigator->useImageIcons(true); $ServerNavigator->showSubfoldersSize(true);
$m->error_redir("backup_notar"); } } else { if (@file_exists($s->cfg['path']['data'] . "/backup.tar")) { @unlink($s->cfg['path']['data'] . "/backup.tar"); } if (!$HTTP_POST_FILES['file']['tmp_name']) { $m->error_redir("backup_upload_notmp"); } if (!preg_match("/\\.tar\$/", $HTTP_POST_FILES['file']['name'])) { @unlink($HTTP_POST_FILES['file']['tmp_name']); $m->error_redir("backup_upload_invalid"); } @move_uploaded_file($HTTP_POST_FILES['file']['tmp_name'], $s->cfg['path']['data'] . "/backup.tar"); } $tar->new_tar($s->cfg['path']['data'], "backup.tar"); $list1 = $tar->list_files(); $list2 = array(); foreach ($s->cfg['file'] as $file) { $list2[] = basename($file); } if ($list1 !== $list2) { @unlink($s->cfg['path']['data'] . "/backup.tar"); $m->error_redir("backup_corrupt"); } $tar->extract_files($s->cfg['path']['data']); } $s->cfg['block:config'] = 1; $m->location("sec=backup", "Backup restaurado"); } else { if ($act == "remove") {