Пример #1
0
 private static function _get_backup_folderpath($folder)
 {
     $parents = db_get_parents($folder);
     $parents[] = $folder;
     $folder_path = "";
     foreach ($parents as $parent) {
         $folder_path .= "/" . $parent["ftitle"];
     }
     return $folder_path;
 }
Пример #2
0
 private static function _tree_open_session($item)
 {
     if (is_numeric($item)) {
         $where = array("id=@id@", $_SESSION["permission_sql_read"]);
         $item_arr = db_select_first("simple_sys_tree", array("id", "lft", "rgt"), $where, "lft asc", array("id" => $item));
     } else {
         $item_arr = array("id" => $item);
     }
     if (empty($item_arr["id"])) {
         return false;
     }
     $_SESSION["folder_states"][$item] = array(1);
     $parents = db_get_parents($item_arr);
     if (is_array($parents) and count($parents) > 0) {
         foreach ($parents as $parent) {
             $id = $parent["id"];
             if (!isset($_SESSION["folder_states"][$id]) or !in_array($item, $_SESSION["folder_states"][$id])) {
                 $_SESSION["folder_states"][$id][] = $item;
             }
         }
     }
     self::session_save();
     return true;
 }
Пример #3
0
function folder_build_folders()
{
    if (empty($_SESSION["folder"])) {
        $tfolder = 1;
    } else {
        $tfolder = $_SESSION["folder"];
    }
    if (empty($_SESSION["view"]["_" . $tfolder])) {
        $tview = "none";
    } else {
        $tview = $_SESSION["view"]["_" . $tfolder];
    }
    $sel_folder = folder_build_selfolder($tfolder, $tview);
    $sel_folder["parents"] = db_get_parents($sel_folder);
    if (count($sel_folder["parents"]) > 0) {
        foreach ($sel_folder["parents"] as $parent) {
            $id = $parent["id"];
            if (!isset($_SESSION["folder_states"][$id]) or !in_array($sel_folder["id"], $_SESSION["folder_states"][$id])) {
                $_SESSION["folder_states"][$id][] = $sel_folder["id"];
            }
        }
        if (!isset($_SESSION["folder_states"][$sel_folder["id"]])) {
            $_SESSION["folder_states"][$sel_folder["id"]] = array(1);
        }
    }
    if (!empty($_REQUEST["folder"]) and empty($_REQUEST["iframe"]) and empty($_REQUEST["preview"])) {
        if ($tview == "none") {
            $v = "";
        } else {
            $v = $tview;
        }
        if (isset($_SESSION["history"][$tfolder . $v])) {
            unset($_SESSION["history"][$tfolder . $v]);
        }
        $last_parent = end($sel_folder["parents"]);
        if (!empty($last_parent["ftitle"])) {
            $last_parent = $last_parent["ftitle"] . " / ";
        }
        $_SESSION["history"][$tfolder . $v] = array($last_parent . $sel_folder["ftitle"], $tfolder, $v);
        if (count($_SESSION["history"]) > 15) {
            array_shift($_SESSION["history"]);
        }
    }
    $sel_folder["children"] = db_get_children($sel_folder);
    $ftype = $sel_folder["ftype"];
    $tfolder = $sel_folder["id"];
    if (isset($_SESSION["disabled_modules"][$ftype])) {
        sys_warning("{t}Module disabled.{/t}");
        $ftype = "blank";
    }
    $GLOBALS["schemafile"] = sys_find_module($ftype);
    $GLOBALS["tname"] = $ftype;
    $GLOBALS["tquota"] = $sel_folder["quota"];
    $GLOBALS["tfolder"] = $tfolder;
    $tfolders = array($tfolder);
    if (!empty($_REQUEST["folders"])) {
        $tfolders = (array) $_REQUEST["folders"];
    } else {
        if ($sel_folder["folders"] != "") {
            $tfolders = explode("|", trim($sel_folder["folders"], "|"));
        }
    }
    $tfolders = _build_merge_folders(array_values($tfolders), $tfolder, $tview);
    $GLOBALS["tfolders"] = $tfolders;
    $GLOBALS["sel_folder"] = $sel_folder;
    $GLOBALS["tview"] = $tview;
    $_SESSION["folder"] = $tfolder;
    $_SESSION["ftype"] = $ftype;
    if (isset($_REQUEST["popup"])) {
        folder_build_tree(false);
    } else {
        if (defined("NOCONTENT") or !$_SESSION["treevisible"] or isset($_REQUEST["iframe"]) or isset($_REQUEST["preview"]) or isset($_REQUEST["export"])) {
            sys::$smarty->assign("tree", array("visible" => false));
        } else {
            folder_build_tree($_SESSION["treevisible"]);
        }
    }
    sys::$smarty->assign("folder", array("id" => $GLOBALS["tfolder"], "name" => $sel_folder["ftitle"], "description" => $sel_folder["fdescription"], "mountpoint" => $sel_folder["fmountpoint"], "type" => $sel_folder["ftype"], "parents" => $sel_folder["parents"], "children" => $sel_folder["children"]));
    sys::$smarty->assign("sys", array("app_title" => APP_TITLE, "version" => CORE_VERSION, "version_str" => CORE_VERSION_STRING, "session_time" => LOGIN_TIMEOUT, "folder_refresh" => FOLDER_REFRESH, "menu_autohide" => (int) MENU_AUTOHIDE, "tree_autohide" => (int) TREE_AUTOHIDE, "fdesc_in_content" => (int) FDESC_IN_CONTENT, "mountpoint_admin" => (int) MOUNTPOINT_REQUIRE_ADMIN, "is_superadmin" => (int) sys_is_super_admin($_SESSION["username"]), "is_guest" => (int) sys_is_guest($_SESSION["username"]), "username" => $_SESSION["username"], "home" => $_SESSION["home_folder"], "history" => $_SESSION["history"], "disabled_modules" => $_SESSION["disabled_modules"], "is_mobile" => sys::$is_mobile));
}
Пример #4
0
 static function getpathfull($folder, $workspace = false, $spacer = " / ")
 {
     static $cache = array();
     if ($folder == "") {
         return "";
     }
     $cid = $folder . $workspace . $spacer;
     if (isset($cache[$cid])) {
         return $cache[$cid];
     }
     if (is_numeric($folder)) {
         $sel_folder = db_select_first("simple_sys_tree", array("id", "rgt", "lft", "ftitle"), "id=@id@", "", array("id" => $folder));
         if (empty($sel_folder["id"])) {
             return $folder;
         }
     } else {
         $sel_folder = array("id" => $folder, "ftitle" => basename($folder));
     }
     $parents = db_get_parents($sel_folder);
     if (!is_array($parents) or count($parents) == 0) {
         if (!is_numeric($folder)) {
             return substr($folder, strpos($folder, "/") + 1);
         } else {
             return $spacer . $sel_folder["ftitle"];
         }
     }
     $result = "";
     if ($workspace) {
         array_shift($parents);
     }
     foreach ($parents as $parent) {
         $result .= $spacer . $parent["ftitle"];
     }
     $cache[$cid] = $result . $spacer . $sel_folder["ftitle"];
     return $cache[$cid];
 }