/// ----------------------------------------------------------------------------- /// <summary> /// AddPage adds a Tab Page /// </summary> /// <param name="PortalId">The Id of the Portal</param> /// <param name="ParentId">The Id of the Parent Tab</param> /// <param name="TabName">The Name to give this new Tab</param> /// <param name="TabIconFile">The Icon for this new Tab</param> /// <param name="IsVisible">A flag indicating whether the tab is visible</param> /// <param name="permissions">Page Permissions Collection for this page</param> /// <param name="IsAdmin">Is and admin page</param> /// <history> /// [cnurse] 11/11/2004 created /// </history> /// ----------------------------------------------------------------------------- private static TabInfo AddPage(int PortalId, int ParentId, string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible, Security.Permissions.TabPermissionCollection permissions, bool IsAdmin) { TabController objTabs = new TabController(); TabInfo objTab = default(TabInfo); objTab = objTabs.GetTabByName(TabName, PortalId, ParentId); if (objTab == null || objTab.ParentId != ParentId) { objTab = new TabInfo(); objTab.TabID = Null.NullInteger; objTab.PortalID = PortalId; objTab.TabName = TabName; objTab.Title = ""; objTab.Description = Description; objTab.KeyWords = ""; objTab.IsVisible = IsVisible; objTab.DisableLink = false; objTab.ParentId = ParentId; objTab.IconFile = TabIconFile; objTab.IconFileLarge = TabIconFileLarge; objTab.IsDeleted = false; objTab.TabID = objTabs.AddTab(objTab, !IsAdmin); if (((permissions != null))) { Security.Permissions.TabPermissionController tabPermissionCtrl = new Security.Permissions.TabPermissionController(); foreach (TabPermissionInfo tabPermission in permissions) { objTab.TabPermissions.Add(tabPermission, true); } TabPermissionController.SaveTabPermissions(objTab); } } return objTab; }
public static TabInfo DeserializeTab(XmlNode nodeTab, TabInfo objTab, Hashtable hTabs, int PortalId, bool IsAdminTemplate, PortalTemplateModuleAction mergeTabs, Hashtable hModules) { TabController objTabs = new TabController(); string tabName = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "name"); if (!String.IsNullOrEmpty(tabName)) { if (objTab == null) { objTab = new TabInfo(); objTab.TabID = Null.NullInteger; objTab.ParentId = Null.NullInteger; objTab.TabName = tabName; } objTab.PortalID = PortalId; objTab.Title = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "title"); objTab.Description = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "description"); objTab.KeyWords = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "keywords"); objTab.IsVisible = XmlUtils.GetNodeValueBoolean(nodeTab, "visible", true); objTab.DisableLink = XmlUtils.GetNodeValueBoolean(nodeTab, "disabled"); objTab.IconFile = Globals.ImportFile(PortalId, XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "iconfile")); objTab.IconFileLarge = Globals.ImportFile(PortalId, XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "iconfilelarge")); objTab.Url = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "url"); objTab.StartDate = XmlUtils.GetNodeValueDate(nodeTab, "startdate", Null.NullDate); objTab.EndDate = XmlUtils.GetNodeValueDate(nodeTab, "enddate", Null.NullDate); objTab.RefreshInterval = XmlUtils.GetNodeValueInt(nodeTab, "refreshinterval", Null.NullInteger); objTab.PageHeadText = XmlUtils.GetNodeValue(nodeTab, "pageheadtext", Null.NullString); objTab.IsSecure = XmlUtils.GetNodeValueBoolean(nodeTab, "issecure", false); objTab.SiteMapPriority = XmlUtils.GetNodeValueSingle(nodeTab, "sitemappriority", (float)0.5); objTab.TabPermissions.Clear(); DeserializeTabPermissions(nodeTab.SelectNodes("tabpermissions/permission"), objTab, IsAdminTemplate); DeserializeTabSettings(nodeTab.SelectNodes("tabsettings/tabsetting"), objTab); if (!String.IsNullOrEmpty(XmlUtils.GetNodeValue(nodeTab, "skinsrc", ""))) { objTab.SkinSrc = XmlUtils.GetNodeValue(nodeTab, "skinsrc", ""); } if (!String.IsNullOrEmpty(XmlUtils.GetNodeValue(nodeTab, "containersrc", ""))) { objTab.ContainerSrc = XmlUtils.GetNodeValue(nodeTab, "containersrc", ""); } tabName = objTab.TabName; if (!String.IsNullOrEmpty(XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent"))) { if (hTabs[XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent")] != null) { objTab.ParentId = Convert.ToInt32(hTabs[XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent")]); tabName = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent") + "/" + objTab.TabName; } else { TabInfo objParent = objTabs.GetTabByName(XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent"), PortalId); if (objParent != null) { objTab.ParentId = objParent.TabID; tabName = objParent.TabName + "/" + objTab.TabName; } else { objTab.ParentId = Null.NullInteger; tabName = objTab.TabName; } } } if (objTab.TabID == Null.NullInteger) { objTab.TabID = objTabs.AddTab(objTab); } else { objTabs.UpdateTab(objTab); } if (hTabs[tabName] == null) { hTabs.Add(tabName, objTab.TabID); } } if (nodeTab.SelectSingleNode("panes") != null) { DeserializePanes(nodeTab.SelectSingleNode("panes"), PortalId, objTab.TabID, mergeTabs, hModules); } nodeTab.AppendChild(XmlUtils.CreateElement(nodeTab.OwnerDocument, "tabid", objTab.TabID.ToString())); return objTab; }