Exemplo n.º 1
0
            $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);
Exemplo n.º 2
0
            $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);
Exemplo n.º 3
0
                 $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") {