Пример #1
0
 function show_dirs($Opcion, $db_path, $tag)
 {
     global $arrHttp, $img_path, $msgstr;
     $source = $_GET['source'];
     // it can be directory or file on which is clicked
     $type = $_GET['type'];
     //this is the type of object on which was clicked (it can be file or dir (directory)
     $path = $_GET['path'];
     //this is the virtual path of directory which we have left.
     $kryptis = $_GET['kryptis'];
     //this is direction of action. It can be pirmyn (forward) if we open directory and other value this variable can be atgal (back) if we press on .. (we will go back from directory).
     $cont_type = $_GET['cont_type'];
     //type of the file
     $source = stripslashes($source);
     $path = stripslashes($path);
     if ($arrHttp["Opcion"] != "mostrar") {
         if ($source != "..") {
             echo "<strong>" . $path . $source . "</strong><br>";
         }
         echo "<a href=javascript:CrearCarpeta()>" . $msgstr["new_folder"] . "</a>";
         echo "&nbsp; <a href='http://isisabcd.pbworks.com/w/page/Explorar-carpeta' target=_blank>" . $msgstr["online_help"] . "</a><p>";
     }
     if ($type == "file") {
         if ($cont_type == "") {
             header("Content-type: application/force-download");
             header("Content-Disposition: attachment; filename={$source}");
         } else {
             header("Content-type: {$cont_type}");
             // @readfile($this->root_dir.$path.$source);
             $fp = fopen($this->root_dir . $path . $source, 'r');
             fpassthru($fp);
             die;
         }
     }
     if (preg_match("/\\/\\.\\.\\//", $path)) {
         $path = "/";
     }
     if ($source == "") {
         $path = "/";
         $root = true;
     } else {
         if ($type == "dir") {
             if ($kryptis == "pirmyn") {
                 $path = $path . $source . "/";
             } elseif ($kryptis == "atgal") {
                 preg_match_all("/^\\/(.+)/", $path, $out);
                 // strips first char "/"
                 $path = $out[1][0];
                 preg_match_all("/(.+)\\/.+\\/\$/", $path, $out);
                 // strips from the path the last directory
                 if ($out[1][0] != "") {
                     $path = "/" . $out[1][0] . "/";
                 } else {
                     $path = "/" . $out[1][0];
                     $root = true;
                 }
             }
         }
     }
     php_dirs_explorer::set("root_dir", $this->root_dir . $path);
     if (is_dir($this->root_dir)) {
         if ($dh = opendir($this->root_dir)) {
             while (($file = readdir($dh)) !== false) {
                 if (filetype($this->root_dir . $file) == "dir") {
                     $turinys["tipas"][] = "dir";
                 } else {
                     $turinys["tipas"][] = "file";
                 }
                 //array["type"][]="file"
                 $turinys["pavadinimas"][] = $file;
                 //array["name"][]=$file
             }
             closedir($dh);
             array_multisort($turinys["tipas"], SORT_ASC, $turinys["pavadinimas"]);
             if (!$root) {
                 $i = 1;
             } else {
                 $i = 2;
                 Encabezamiento();
             }
             for ($i; $i < count($turinys["tipas"]); $i++) {
                 if ($turinys["tipas"][$i] == "dir") {
                     if ($Opcion == "explorar" and $turinys["pavadinimas"][$i] != "..") {
                         $sel_dir = $this->root_dir;
                         $sel_dir = str_replace($img_path, "", $sel_dir);
                         $sel_dir .= $turinys["pavadinimas"][$i];
                         $sel_dir = str_replace("//", "/", $sel_dir);
                         echo "<input type=radio name=sel value='" . $turinys["pavadinimas"][$i] . "' onclick=\"window.opener.document.upload.storein.value='" . $sel_dir . "';self.close()\">";
                     }
                     echo "<img src=\"" . $this->icons_dir . $this->dir_icon . "\">";
                     if ($i == 1 and $turinys["pavadinimas"][$i] == "..") {
                         echo "&nbsp; <a href=\"?source=" . $turinys["pavadinimas"][$i] . "&amp;Opcion={$Opcion}&amp;tag={$tag}&amp;base=" . $arrHttp["base"] . "&amp;desde=" . $arrHttp["desde"] . "&amp;type=dir&amp;kryptis=atgal&amp;path={$path}\"&Opcion={$Opcion}>" . $turinys["pavadinimas"][$i] . "</a> <br>";
                     } else {
                         echo "&nbsp; <a href=\"?source=" . $turinys["pavadinimas"][$i] . "&amp;Opcion={$Opcion}&amp;tag={$tag}&amp;base=" . $arrHttp["base"] . "&amp;desde=" . $arrHttp["desde"] . "&amp;type=dir&amp;kryptis=pirmyn&amp;path={$path}\"&Opcion={$Opcion}>" . $turinys["pavadinimas"][$i] . "</a> <br>";
                     }
                 } else {
                     $file_type = php_dirs_explorer::get_file_type($turinys["pavadinimas"][$i]);
                     $icon = $file_type[0];
                     $cont_type = $file_type[1];
                     if ($Opcion == "seleccionar") {
                         $sel_dir = $this->root_dir;
                         $sel_dir = str_replace($db_path, "", $sel_dir);
                         $sel_dir .= $turinys["pavadinimas"][$i];
                         $sel_dir = str_replace("//", "/", $sel_dir);
                         if (substr($sel_dir, 0, 1) == "/") {
                             $sel_dir = substr($sel_dir, 1);
                         }
                         echo "<input type=checkbox name=sel value='" . $turinys["pavadinimas"][$i] . "' onclick=\"CopiarImagen('" . $sel_dir . "')\">";
                     }
                     echo "<img src=\"" . $this->icons_dir . "{$icon}\">";
                     if ($icon != "unident.gif") {
                         echo "&nbsp; <a href=\"javascript:MostrarImagen('" . $turinys["pavadinimas"][$i] . "','file','" . $arrHttp["base"] . "','" . $arrHttp["desde"] . "','{$path}','{$cont_type}','mostrar')\">" . $turinys["pavadinimas"][$i] . "</a> <br>";
                     } else {
                         echo "&nbsp; " . $turinys["pavadinimas"][$i] . "<br>";
                     }
                 }
             }
         }
     }
 }
Пример #2
0
<?php

session_start();
include "dirs_explorer.class.php";
include "../config.php";
include "../common/get_post.php";
$lang = $_SESSION["lang"];
include "../lang/admin.php";
$expl = new php_dirs_explorer();
//Now it's needed set FULL path of directory which should be seen
//root_dir - name of variable and it should be static!
// /home/shared_dir - full path of shared directory for *nix
// c:/shared_dir - full path of shared direcotory for win
if (isset($arrHttp["desde"]) and $arrHttp["desde"] == "dbcp") {
    $img_path = $db_path;
    $expl->Set("root_dir", $img_path);
} else {
    $arrHttp["desde"] = "dataentry";
    if (file_exists($db_path . $arrHttp["base"] . "/dr_path.def")) {
        $def = parse_ini_file($db_path . $arrHttp["base"] . "/dr_path.def");
        $img_path = trim($def["ROOT"]);
    } else {
        $img_path = getenv("DOCUMENT_ROOT") . "/bases/" . $arrHttp["base"] . "/";
    }
    $expl->Set("root_dir", $img_path);
}
//echo $img_path;
//Now it's needed set path of icons
//icons_dir - name of variable and it should be static!
//icons/ - directory of icons
$expl->Set("icons_dir", "img/dir_explorer/");