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; }
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; }
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)); }
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]; }