Esempio n. 1
0
function mkArch($Folder1, $FolderToArch, $DestFile)
{
    global $isWin, $Wrar;
    echo "{$Folder1}, {$FolderToArch}, {$DestFile}<br>";
    # $newfile = new gzip_file($DestFile.".tgz");
    $newfile = new tar_file($DestFile . ".tar");
    $newfile->set_options(array('basedir' => $Folder1, 'overwrite' => 1));
    $newfile->add_files($FolderToArch);
    $newfile->create_archive();
    if (count($newfile->errors) > 0) {
        print "Errors occurred.";
    }
}
Esempio n. 2
0
function frame3()
{
    global $islinux, $cmd_arg, $chmod_arg, $zip_dir, $fm_current_root, $cookie_cache_time;
    global $dir_dest, $current_dir, $dir_before;
    global $selected_file_list, $selected_dir_list, $old_name, $new_name;
    global $action, $or_by, $order_dir_list_by;
    if (!isset($order_dir_list_by)) {
        $order_dir_list_by = "1A";
        setcookie("order_dir_list_by", $order_dir_list_by, time() + $cookie_cache_time, "/");
    } elseif (strlen($or_by)) {
        $order_dir_list_by = $or_by;
        setcookie("order_dir_list_by", $or_by, time() + $cookie_cache_time, "/");
    }
    html_header();
    echo "<body>\n";
    if ($action) {
        switch ($action) {
            case 1:
                // create dir
                if (strlen($cmd_arg)) {
                    $cmd_arg = format_path($current_dir . $cmd_arg);
                    if (!file_exists($cmd_arg)) {
                        @mkdir($cmd_arg, 0755);
                        @chmod($cmd_arg, 0755);
                        reloadframe("parent", 2, "&ec_dir=" . $cmd_arg);
                    } else {
                        alert(et('FileDirExists') . ".");
                    }
                }
                break;
            case 2:
                // create arq
                if (strlen($cmd_arg)) {
                    $cmd_arg = $current_dir . $cmd_arg;
                    if (!file_exists($cmd_arg)) {
                        if ($fh = @fopen($cmd_arg, "w")) {
                            @fclose($fh);
                        }
                        @chmod($cmd_arg, 0644);
                    } else {
                        alert(et('FileDirExists') . ".");
                    }
                }
                break;
            case 3:
                // rename arq ou dir
                if (strlen($old_name) && strlen($new_name)) {
                    rename($current_dir . $old_name, $current_dir . $new_name);
                    if (is_dir($current_dir . $new_name)) {
                        reloadframe("parent", 2);
                    }
                }
                break;
            case 4:
                // delete sel
                if (strstr($current_dir, $fm_current_root)) {
                    if (strlen($selected_file_list)) {
                        $selected_file_list = explode("<|*|>", $selected_file_list);
                        if (count($selected_file_list)) {
                            for ($x = 0; $x < count($selected_file_list); $x++) {
                                $selected_file_list[$x] = trim($selected_file_list[$x]);
                                if (strlen($selected_file_list[$x])) {
                                    total_delete($current_dir . $selected_file_list[$x], $dir_dest . $selected_file_list[$x]);
                                }
                            }
                        }
                    }
                    if (strlen($selected_dir_list)) {
                        $selected_dir_list = explode("<|*|>", $selected_dir_list);
                        if (count($selected_dir_list)) {
                            for ($x = 0; $x < count($selected_dir_list); $x++) {
                                $selected_dir_list[$x] = trim($selected_dir_list[$x]);
                                if (strlen($selected_dir_list[$x])) {
                                    total_delete($current_dir . $selected_dir_list[$x], $dir_dest . $selected_dir_list[$x]);
                                }
                            }
                            reloadframe("parent", 2);
                        }
                    }
                }
                break;
            case 5:
                // copy sel
                if (strlen($dir_dest)) {
                    if (uppercase($dir_dest) != uppercase($current_dir)) {
                        if (strlen($selected_file_list)) {
                            $selected_file_list = explode("<|*|>", $selected_file_list);
                            if (count($selected_file_list)) {
                                for ($x = 0; $x < count($selected_file_list); $x++) {
                                    $selected_file_list[$x] = trim($selected_file_list[$x]);
                                    if (strlen($selected_file_list[$x])) {
                                        total_copy($current_dir . $selected_file_list[$x], $dir_dest . $selected_file_list[$x]);
                                    }
                                }
                            }
                        }
                        if (strlen($selected_dir_list)) {
                            $selected_dir_list = explode("<|*|>", $selected_dir_list);
                            if (count($selected_dir_list)) {
                                for ($x = 0; $x < count($selected_dir_list); $x++) {
                                    $selected_dir_list[$x] = trim($selected_dir_list[$x]);
                                    if (strlen($selected_dir_list[$x])) {
                                        total_copy($current_dir . $selected_dir_list[$x], $dir_dest . $selected_dir_list[$x]);
                                    }
                                }
                                reloadframe("parent", 2);
                            }
                        }
                        $current_dir = $dir_dest;
                    }
                }
                break;
            case 6:
                // move sel
                if (strlen($dir_dest)) {
                    if (uppercase($dir_dest) != uppercase($current_dir)) {
                        if (strlen($selected_file_list)) {
                            $selected_file_list = explode("<|*|>", $selected_file_list);
                            if (count($selected_file_list)) {
                                for ($x = 0; $x < count($selected_file_list); $x++) {
                                    $selected_file_list[$x] = trim($selected_file_list[$x]);
                                    if (strlen($selected_file_list[$x])) {
                                        total_move($current_dir . $selected_file_list[$x], $dir_dest . $selected_file_list[$x]);
                                    }
                                }
                            }
                        }
                        if (strlen($selected_dir_list)) {
                            $selected_dir_list = explode("<|*|>", $selected_dir_list);
                            if (count($selected_dir_list)) {
                                for ($x = 0; $x < count($selected_dir_list); $x++) {
                                    $selected_dir_list[$x] = trim($selected_dir_list[$x]);
                                    if (strlen($selected_dir_list[$x])) {
                                        total_move($current_dir . $selected_dir_list[$x], $dir_dest . $selected_dir_list[$x]);
                                    }
                                }
                                reloadframe("parent", 2);
                            }
                        }
                        $current_dir = $dir_dest;
                    }
                }
                break;
            case 71:
                // compress sel
                if (strlen($cmd_arg)) {
                    ignore_user_abort(true);
                    ini_set("display_errors", 0);
                    ini_set("max_execution_time", 0);
                    $zipfile = false;
                    if (strstr($cmd_arg, ".tar")) {
                        $zipfile = new tar_file($cmd_arg);
                    } elseif (strstr($cmd_arg, ".zip")) {
                        $zipfile = new zip_file($cmd_arg);
                    } elseif (strstr($cmd_arg, ".bzip")) {
                        $zipfile = new bzip_file($cmd_arg);
                    } elseif (strstr($cmd_arg, ".gzip")) {
                        $zipfile = new gzip_file($cmd_arg);
                    }
                    if ($zipfile) {
                        $zipfile->set_options(array('basedir' => $current_dir, 'overwrite' => 1, 'level' => 3));
                        if (strlen($selected_file_list)) {
                            $selected_file_list = explode("<|*|>", $selected_file_list);
                            if (count($selected_file_list)) {
                                for ($x = 0; $x < count($selected_file_list); $x++) {
                                    $selected_file_list[$x] = trim($selected_file_list[$x]);
                                    if (strlen($selected_file_list[$x])) {
                                        $zipfile->add_files($selected_file_list[$x]);
                                    }
                                }
                            }
                        }
                        if (strlen($selected_dir_list)) {
                            $selected_dir_list = explode("<|*|>", $selected_dir_list);
                            if (count($selected_dir_list)) {
                                for ($x = 0; $x < count($selected_dir_list); $x++) {
                                    $selected_dir_list[$x] = trim($selected_dir_list[$x]);
                                    if (strlen($selected_dir_list[$x])) {
                                        $zipfile->add_files($selected_dir_list[$x]);
                                    }
                                }
                            }
                        }
                        $zipfile->create_archive();
                    }
                    unset($zipfile);
                }
                break;
            case 72:
                // decompress arq
                if (strlen($cmd_arg)) {
                    if (file_exists($current_dir . $cmd_arg)) {
                        $zipfile = false;
                        if (strstr($cmd_arg, ".zip")) {
                            zip_extract();
                        } elseif (strstr($cmd_arg, ".bzip") || strstr($cmd_arg, ".bz2") || strstr($cmd_arg, ".tbz2") || strstr($cmd_arg, ".bz") || strstr($cmd_arg, ".tbz")) {
                            $zipfile = new bzip_file($cmd_arg);
                        } elseif (strstr($cmd_arg, ".gzip") || strstr($cmd_arg, ".gz") || strstr($cmd_arg, ".tgz")) {
                            $zipfile = new gzip_file($cmd_arg);
                        } elseif (strstr($cmd_arg, ".tar")) {
                            $zipfile = new tar_file($cmd_arg);
                        }
                        if ($zipfile) {
                            $zipfile->set_options(array('basedir' => $current_dir, 'overwrite' => 1));
                            $zipfile->extract_files();
                        }
                        unset($zipfile);
                        reloadframe("parent", 2);
                    }
                }
                break;
            case 8:
                // delete arq/dir
                if (strlen($cmd_arg)) {
                    if (file_exists($current_dir . $cmd_arg)) {
                        total_delete($current_dir . $cmd_arg);
                    }
                    if (is_dir($current_dir . $cmd_arg)) {
                        reloadframe("parent", 2);
                    }
                }
                break;
            case 9:
                // CHMOD
                if (strlen($chmod_arg) == 4 && strlen($current_dir)) {
                    if ($chmod_arg[0] == "1") {
                        $chmod_arg = "0" . $chmod_arg;
                    } else {
                        $chmod_arg = "0" . substr($chmod_arg, strlen($chmod_arg) - 3);
                    }
                    $new_mod = octdec($chmod_arg);
                    if (strlen($selected_file_list)) {
                        $selected_file_list = explode("<|*|>", $selected_file_list);
                        if (count($selected_file_list)) {
                            for ($x = 0; $x < count($selected_file_list); $x++) {
                                $selected_file_list[$x] = trim($selected_file_list[$x]);
                                if (strlen($selected_file_list[$x])) {
                                    @chmod($current_dir . $selected_file_list[$x], $new_mod);
                                }
                            }
                        }
                    }
                    if (strlen($selected_dir_list)) {
                        $selected_dir_list = explode("<|*|>", $selected_dir_list);
                        if (count($selected_dir_list)) {
                            for ($x = 0; $x < count($selected_dir_list); $x++) {
                                $selected_dir_list[$x] = trim($selected_dir_list[$x]);
                                if (strlen($selected_dir_list[$x])) {
                                    @chmod($current_dir . $selected_dir_list[$x], $new_mod);
                                }
                            }
                        }
                    }
                }
                break;
        }
        if ($action != 10) {
            dir_list_form();
        }
    } else {
        dir_list_form();
    }
    echo "</body>\n</html>";
}
Esempio n. 3
0
 function save_original($file_with_path, $in_test = false, $pack = false)
 {
     // globals var
     global $THIS_BASEPATH, $CURRENT_FOLDER;
     // just in case is not set....
     if ($this->hack_path == "") {
         $this->hack_path = "{$THIS_BASEPATH}/hacks";
     }
     if (!is_writable($this->hack_path)) {
         @chmod($this->hack_path, 0777);
         if (!is_writable($this->hack_path)) {
             $this->ftp_login_need = true;
             $new = true;
             foreach ($this->ftp_files_to_chmod as $ftcm) {
                 if (in_array($this->hack_path, $ftcm)) {
                     $new = false;
                 }
             }
             if ($new) {
                 $index = count($this->ftp_files_to_chmod);
                 $this->ftp_files_to_chmod[$index]["file"] = $this->hack_path;
                 $this->ftp_files_to_chmod[$index]["mode"] = "777";
             }
             return false;
         }
     }
     if ($in_test) {
         return true;
     }
     if (!$pack) {
         $this->files_to_backup[] = $file_with_path;
         return true;
     }
     // no files to backup???
     if (count($this->files_to_backup) == 0) {
         return true;
     }
     $archive = new tar_file($this->hack_path . "/backup-" . date("d-m-Y_H-i-s") . ".tar");
     $archive->set_options(array("basedir" => "{$THIS_BASEPATH}"));
     foreach ($this->files_to_backup as $ftb) {
         $archive->add_files($ftb);
     }
     $archive->create_archive();
     if (count($archive->errors) > 0) {
         $this->_err_message("Unable to write in {$this->hack_path}", "Folder", "Check chmod+chown for {$this->hack_path}");
         return false;
     }
     return true;
 }