Пример #1
0
        /// -----------------------------------------------------------------------------
        /// <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;
        }
Пример #2
0
 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;
 }