private static NodeCollection getUserNodes(UserPrincipal user, Node currentNode) { NodeCollection nc = new NodeCollection(); if (user.CheckRolePermission(currentNode, Permission.Add) || user.CheckRolePermission(currentNode, Permission.Edit) || user.CheckRolePermission(currentNode, Permission.Publish) || user.CheckRolePermission(currentNode, Permission.Delete)) { nc.Add(currentNode); return(nc); } foreach (Node nn in currentNode.children) { nc.AddRange(getUserNodes(user, nn)); } return(nc); }
private void Page_Load(object sender, System.EventArgs e) { user = SFGlobal.CurrentUser; /* * DuryTools.Data.DataContainer dc = new DuryTools.Data.DataContainer("ArticleBodies"); * DataRow dr = dc.GetRowByKey("id",35); * msg.Text = dr["body"].ToString(); */ int nodeID = (Request.QueryString["n"] != null) ? int.Parse(Request.QueryString["n"]) : 1; Node root = (Node)Application["nodeRoot"]; Node n = root.Find(nodeID); msg.Text += n.Filename + "<BR>"; foreach (int i in Enum.GetValues(typeof(Permission))) { string s = Enum.GetName(typeof(Permission), i); msg.Text += s + "="; msg.Text += user.CheckRolePermission(n, (Permission)i).ToString(); msg.Text += "<BR>"; } }