public static string GetPortalAliasByTab(int TabID, string PortalAlias)
 {
     string retValue = Null.NullString;
     int intPortalId = -2;
     TabController objTabs = new TabController();
     TabInfo objTab = objTabs.GetTab(TabID, Null.NullInteger, false);
     if (objTab != null)
     {
         if (!objTab.IsDeleted)
         {
             intPortalId = objTab.PortalID;
         }
     }
     switch (intPortalId)
     {
         case -2:
             break;
         case -1:
             retValue = PortalAlias;
             break;
         default:
             retValue = GetPortalAliasByPortal(intPortalId, PortalAlias);
             break;
     }
     return retValue;
 }
        public static TabInfo MessagingPage(string ModuleFriendlyName)
        {
            if (((_MessagingPage != null)))
                return _MessagingPage;

            ModuleController mc = new ModuleController();
            ModuleInfo md = mc.GetModuleByDefinition(PortalSettings.Current.PortalId, ModuleFriendlyName);
            if ((md != null))
            {
                ArrayList a = mc.GetModuleTabs(md.ModuleID);
                if ((a != null))
                {
                    ModuleInfo mi = a[0] as ModuleInfo;
                    if ((mi != null))
                    {
                        TabController tc = new TabController();
                        _MessagingPage = tc.GetTab(mi.TabID, PortalSettings.Current.PortalId, false);
                    }
                }
            }

            return _MessagingPage;

        }
        private static void UpgradeToVersion_500()
        {
            PortalController objPortals = new PortalController();
            ArrayList arrPortals = objPortals.GetPortals();
            TabController controller = new TabController();

            //Add Edit Permissions for Admin Tabs to legacy portals
            PermissionController permissionControler = new PermissionController();
            TabPermissionController tabPermissionControler = new TabPermissionController();
            ArrayList permissions = permissionControler.GetPermissionByCodeAndKey("SYSTEM_TAB", "EDIT");
            int permissionID = Null.NullInteger;
            if (permissions.Count == 1)
            {
                PermissionInfo permission = permissions[0] as PermissionInfo;
                permissionID = permission.PermissionID;

                foreach (PortalInfo portal in arrPortals)
                {
                    TabInfo adminTab = controller.GetTab(portal.AdminTabId, portal.PortalID, true);
                    if (adminTab != null)
                    {
                        TabPermissionInfo tabPermission = new TabPermissionInfo();
                        tabPermission.TabID = adminTab.TabID;
                        tabPermission.PermissionID = permissionID;
                        tabPermission.AllowAccess = true;
                        tabPermission.RoleID = portal.AdministratorRoleId;
                        if (!TabPermissionExists(tabPermission, portal.PortalID))
                        {
                            adminTab.TabPermissions.Add(tabPermission);
                        }

                        //Save Tab Permissions to Data Base
                        TabPermissionController.SaveTabPermissions(adminTab);

                        foreach (TabInfo childTab in TabController.GetTabsByParent(portal.AdminTabId, portal.PortalID))
                        {
                            tabPermission = new TabPermissionInfo();
                            tabPermission.TabID = childTab.TabID;
                            tabPermission.PermissionID = permissionID;
                            tabPermission.AllowAccess = true;
                            tabPermission.RoleID = portal.AdministratorRoleId;
                            if (!TabPermissionExists(tabPermission, portal.PortalID))
                            {
                                childTab.TabPermissions.Add(tabPermission);
                            }
                            //Save Tab Permissions to Data Base
                            TabPermissionController.SaveTabPermissions(childTab);
                        }
                    }
                }
            }

            //Update Host/Admin modules Visibility setting
            bool superTabProcessed = Null.NullBoolean;
            ModuleController moduleController = new ModuleController();
            foreach (PortalInfo portal in arrPortals)
            {
                if (!superTabProcessed)
                {
                    //Process Host Tabs
                    foreach (TabInfo childTab in TabController.GetTabsByParent(portal.SuperTabId, Null.NullInteger))
                    {
                        foreach (ModuleInfo tabModule in moduleController.GetTabModules(childTab.TabID).Values)
                        {
                            tabModule.Visibility = VisibilityState.None;
                            moduleController.UpdateModule(tabModule);
                        }
                    }
                }

                //Process Portal Tabs
                foreach (TabInfo childTab in TabController.GetTabsByParent(portal.AdminTabId, portal.PortalID))
                {
                    foreach (ModuleInfo tabModule in moduleController.GetTabModules(childTab.TabID).Values)
                    {
                        tabModule.Visibility = VisibilityState.None;
                        moduleController.UpdateModule(tabModule);
                    }
                }
            }

            //Upgrade PortalDesktopModules to support new "model"
            permissions = permissionControler.GetPermissionByCodeAndKey("SYSTEM_DESKTOPMODULE", "DEPLOY");
            if (permissions.Count == 1)
            {
                PermissionInfo permission = permissions[0] as PermissionInfo;
                permissionID = permission.PermissionID;
                foreach (PortalInfo portal in arrPortals)
                {
                    foreach (DesktopModuleInfo desktopModule in DesktopModuleController.GetDesktopModules(Null.NullInteger).Values)
                    {
                        if (!desktopModule.IsPremium)
                        {
                            //Parse the permissions
                            DesktopModulePermissionCollection deployPermissions = new DesktopModulePermissionCollection();
                            DesktopModulePermissionInfo deployPermission = default(DesktopModulePermissionInfo);

                            // if Not IsAdmin add Registered Users
                            if (!desktopModule.IsAdmin)
                            {
                                deployPermission = new DesktopModulePermissionInfo();
                                deployPermission.PermissionID = permissionID;
                                deployPermission.AllowAccess = true;
                                deployPermission.RoleID = portal.RegisteredRoleId;
                                deployPermissions.Add(deployPermission);
                            }

                            // if Not a Host Module add Administrators
                            string hostModules = "Portals, SQL, HostSettings, Scheduler, SearchAdmin, Lists, SkinDesigner, Extensions";
                            if (!hostModules.Contains(desktopModule.ModuleName))
                            {
                                deployPermission = new DesktopModulePermissionInfo();
                                deployPermission.PermissionID = permissionID;
                                deployPermission.AllowAccess = true;
                                deployPermission.RoleID = portal.AdministratorRoleId;
                                deployPermissions.Add(deployPermission);
                            }

                            //Add Portal/Module to PortalDesktopModules
                            DesktopModuleController.AddDesktopModuleToPortal(portal.PortalID, desktopModule, deployPermissions, false);
                        }
                    }

                    DataCache.ClearPortalCache(portal.PortalID, true);
                }
            }

            LegacyUtil.ProcessLegacyModules();
            LegacyUtil.ProcessLegacyLanguages();
            LegacyUtil.ProcessLegacySkins();
            LegacyUtil.ProcessLegacySkinControls();
        }
        public static void AddModuleToPages(string tabPath, int ModuleDefId, string ModuleTitle, string ModuleIconFile, bool InheritPermissions)
        {
            PortalController objPortalController = new PortalController();
            TabController objTabController = new TabController();

            ArrayList portals = objPortalController.GetPortals();
            foreach (PortalInfo portal in portals)
            {
                int tabID = TabController.GetTabByTabPath(portal.PortalID, tabPath);
                if ((tabID != Null.NullInteger))
                {
                    TabInfo tab = objTabController.GetTab(tabID, portal.PortalID, true);
                    if ((tab != null))
                    {
                        AddModuleToPage(tab, ModuleDefId, ModuleTitle, ModuleIconFile, InheritPermissions);
                    }
                }
            }
        }
        private static void AddAdminRoleToPage(string tabPath)
        {
            PortalController portalCtrl = new PortalController();
            TabController tabCtrl = new TabController();
            int tabID = 0;
            TabInfo tab = default(TabInfo);

            foreach (PortalInfo portal in portalCtrl.GetPortals())
            {
                tabID = TabController.GetTabByTabPath(portal.PortalID, tabPath);
                if ((tabID != Null.NullInteger))
                {
                    tab = tabCtrl.GetTab(tabID, portal.PortalID, true);

                    if ((tab.TabPermissions.Count == 0))
                    {
                        AddPagePermission(tab.TabPermissions, "View", Convert.ToInt32(portal.AdministratorRoleId));
                        AddPagePermission(tab.TabPermissions, "Edit", Convert.ToInt32(portal.AdministratorRoleId));
                        TabPermissionController.SaveTabPermissions(tab);
                    }
                }
            }
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// AddAdminPage adds an Admin Tab Page
        /// </summary>
        ///	<param name="Portal">The Portal</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>
        /// <history>
        /// [cnurse]	11/11/2004	created
        /// </history>
        /// -----------------------------------------------------------------------------
        public static TabInfo AddAdminPage(PortalInfo Portal, string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible)
        {

            TabController objTabController = new TabController();
            TabInfo AdminPage = objTabController.GetTab(Portal.AdminTabId, Portal.PortalID, false);

            if ((AdminPage != null))
            {
                Security.Permissions.TabPermissionCollection objTabPermissions = new Security.Permissions.TabPermissionCollection();
                AddPagePermission(objTabPermissions, "View", Convert.ToInt32(Portal.AdministratorRoleId));
                AddPagePermission(objTabPermissions, "Edit", Convert.ToInt32(Portal.AdministratorRoleId));
                return AddPage(AdminPage, TabName, Description, TabIconFile, TabIconFileLarge, IsVisible, objTabPermissions, true);
            }
            else
            {
                return null;

            }
        }
        public static int AddModuleToPage(string tabPath, int portalId, int ModuleDefId, string ModuleTitle, string ModuleIconFile, bool InheritPermissions)
        {
            TabController objTabController = new TabController();
            int moduleId = Null.NullInteger;

            int tabID = TabController.GetTabByTabPath(portalId, tabPath);
            if ((tabID != Null.NullInteger))
            {
                TabInfo tab = objTabController.GetTab(tabID, portalId, true);
                if ((tab != null))
                {
                    moduleId = AddModuleToPage(tab, ModuleDefId, ModuleTitle, ModuleIconFile, InheritPermissions);
                }
            }
            return moduleId;
        }
        private static void UpgradeToVersion_510()
        {
            //Upgrade to .NET 3.5
            TryUpgradeNETFramework();

            PortalController objPortalController = new PortalController();
            TabController objTabController = new TabController();
            ModuleController objModuleController = new ModuleController();
            int ModuleDefID = 0;
            int ModuleID = 0;

            //add Dashboard module and tab
            if (HostTabExists("Dashboard") == false)
            {
                ModuleDefID = AddModuleDefinition("Dashboard", "Provides a snapshot of your DotNetNuke Application.", "Dashboard", true, true);
                AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Dashboard/Dashboard.ascx", "icon_dashboard_32px.gif", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "Export", "", "DesktopModules/Admin/Dashboard/Export.ascx", "", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "DashboardControls", "", "DesktopModules/Admin/Dashboard/DashboardControls.ascx", "", SecurityAccessLevel.Host, 0);

                //Create New Host Page (or get existing one)
                TabInfo dashboardPage = AddHostPage("Dashboard", "Summary view of application and site settings.", "~/images/icon_dashboard_16px.gif", "~/images/icon_dashboard_32px.gif", true);

                //Add Module To Page
                AddModuleToPage(dashboardPage, ModuleDefID, "Dashboard", "~/images/icon_dashboard_32px.gif");
            }
            else
            {
                //Module was incorrectly assigned as "IsPremium=False"
                RemoveModuleFromPortals("Dashboard");
                //fix path for dashboarcontrols
                ModuleDefID = GetModuleDefinition("Dashboard", "Dashboard");
                RemoveModuleControl(ModuleDefID, "DashboardControls");
                AddModuleControl(ModuleDefID, "DashboardControls", "", "DesktopModules/Admin/Dashboard/DashboardControls.ascx", "", SecurityAccessLevel.Host, 0);
            }

            //Add the Extensions Module
            if (CoreModuleExists("Extensions") == false)
            {
                ModuleDefID = AddModuleDefinition("Extensions", "", "Extensions");
                AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Extensions/Extensions.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.View, 0);
                AddModuleControl(ModuleDefID, "Edit", "Edit Feature", "DesktopModules/Admin/Extensions/EditExtension.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Edit, 0);
                AddModuleControl(ModuleDefID, "PackageWriter", "Package Writer", "DesktopModules/Admin/Extensions/PackageWriter.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "EditControl", "Edit Control", "DesktopModules/Admin/Extensions/Editors/EditModuleControl.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "ImportModuleDefinition", "Import Module Definition", "DesktopModules/Admin/Extensions/Editors/ImportModuleDefinition.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "BatchInstall", "Batch Install", "DesktopModules/Admin/Extensions/BatchInstall.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "NewExtension", "New Extension Wizard", "DesktopModules/Admin/Extensions/ExtensionWizard.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);
                AddModuleControl(ModuleDefID, "UsageDetails", "Usage Information", "DesktopModules/Admin/Extensions/UsageDetails.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0, "", true);
            }
            else
            {
                ModuleDefID = GetModuleDefinition("Extensions", "Extensions");
                RemoveModuleControl(ModuleDefID, "EditLanguage");
                RemoveModuleControl(ModuleDefID, "TimeZone");
                RemoveModuleControl(ModuleDefID, "Verify");
                RemoveModuleControl(ModuleDefID, "LanguageSettings");
                RemoveModuleControl(ModuleDefID, "EditResourceKey");
                RemoveModuleControl(ModuleDefID, "EditSkins");
                AddModuleControl(ModuleDefID, "UsageDetails", "Usage Information", "DesktopModules/Admin/Extensions/UsageDetails.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0, "", true);

                //Module was incorrectly assigned as "IsPremium=False"
                RemoveModuleFromPortals("Extensions");
            }

            //Remove Module Definitions Module from Host Page (if present)
            RemoveCoreModule("Module Definitions", "Host", "Module Definitions", false);

            //Remove old Module Definition Validator module
            DesktopModuleController.DeleteDesktopModule("Module Definition Validator");

            //Get Module Definitions
            TabInfo definitionsPage = objTabController.GetTabByName("Module Definitions", Null.NullInteger);

            //Add Module To Page if not present
            ModuleID = AddModuleToPage(definitionsPage, ModuleDefID, "Module Definitions", "~/images/icon_moduledefinitions_32px.gif");
            objModuleController.UpdateModuleSetting(ModuleID, "Extensions_Mode", "Module");

            //Add Extensions Host Page
            TabInfo extensionsPage = AddHostPage("Extensions", "Install, add, modify and delete extensions, such as modules, skins and language packs.", "~/images/icon_extensions_16px.gif", "~/images/icon_extensions_32px.gif", true);

            ModuleID = AddModuleToPage(extensionsPage, ModuleDefID, "Extensions", "~/images/icon_extensions_32px.gif");
            objModuleController.UpdateModuleSetting(ModuleID, "Extensions_Mode", "All");

            //Add Extensions Module to Admin Page for all Portals
            AddAdminPages("Extensions", "Install, add, modify and delete extensions, such as modules, skins and language packs.", "~/images/icon_extensions_16px.gif", "~/images/icon_extensions_32px.gif", true, ModuleDefID, "Extensions", "~/images/icon_extensions_32px.gif");

            //Remove Host Languages Page
            RemoveHostPage("Languages");

            //Remove Admin > Authentication Pages
            RemoveAdminPages("//Admin//Authentication");

            //Remove old Languages module
            DesktopModuleController.DeleteDesktopModule("Languages");

            //Add new Languages module
            ModuleDefID = AddModuleDefinition("Languages", "", "Languages", false, false);
            AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Languages/languageeditor.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.View, 0);
            AddModuleControl(ModuleDefID, "Edit", "Edit Language", "DesktopModules/Admin/Languages/EditLanguage.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0);
            AddModuleControl(ModuleDefID, "EditResourceKey", "Full Language Editor", "DesktopModules/Admin/Languages/languageeditorext.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0);
            AddModuleControl(ModuleDefID, "LanguageSettings", "Language Settings", "DesktopModules/Admin/Languages/LanguageSettings.ascx", "", SecurityAccessLevel.Edit, 0);
            AddModuleControl(ModuleDefID, "TimeZone", "TimeZone Editor", "DesktopModules/Admin/Languages/timezoneeditor.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Host, 0);
            AddModuleControl(ModuleDefID, "Verify", "Resource File Verifier", "DesktopModules/Admin/Languages/resourceverifier.ascx", "", SecurityAccessLevel.Host, 0);
            AddModuleControl(ModuleDefID, "PackageWriter", "Language Pack Writer", "DesktopModules/Admin/Languages/LanguagePackWriter.ascx", "", SecurityAccessLevel.Host, 0);

            //Add Module to Admin Page for all Portals
            AddAdminPages("Languages", "Manage Language Resources.", "~/images/icon_language_16px.gif", "~/images/icon_language_32px.gif", true, ModuleDefID, "Language Editor", "~/images/icon_language_32px.gif");

            //Remove Host Skins Page
            RemoveHostPage("Skins");

            //Remove old Skins module
            DesktopModuleController.DeleteDesktopModule("Skins");

            //Add new Skins module
            ModuleDefID = AddModuleDefinition("Skins", "", "Skins", false, false);
            AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Skins/editskins.ascx", "~/images/icon_skins_32px.gif", SecurityAccessLevel.View, 0);

            //Add Module to Admin Page for all Portals
            AddAdminPages("Skins", "Manage Skin Resources.", "~/images/icon_skins_16px.gif", "~/images/icon_skins_32px.gif", true, ModuleDefID, "Skin Editor", "~/images/icon_skins_32px.gif");

            //Remove old Skin Designer module
            DesktopModuleController.DeleteDesktopModule("Skin Designer");
            DesktopModuleController.DeleteDesktopModule("SkinDesigner");

            //Add new Skin Designer module
            ModuleDefID = AddModuleDefinition("Skin Designer", "Allows you to modify skin attributes.", "Skin Designer", true, true);
            AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SkinDesigner/Attributes.ascx", "~/images/icon_skins_32px.gif", SecurityAccessLevel.Host, 0);

            //Add new Skin Designer to every Admin Skins Tab
            AddModuleToPages("//Admin//Skins", ModuleDefID, "Skin Designer", "~/images/icon_skins_32px.gif", true);

            //Remove Admin Whats New Page
            RemoveAdminPages("//Admin//WhatsNew");

            //WhatsNew needs to be set to IsPremium and removed from all portals
            RemoveModuleFromPortals("WhatsNew");

            //Create New WhatsNew Host Page (or get existing one)
            TabInfo newPage = AddHostPage("What's New", "Provides a summary of the major features for each release.", "~/images/icon_whatsnew_16px.gif", "~/images/icon_whatsnew_32px.gif", true);

            //Add WhatsNew Module To Page
            ModuleDefID = GetModuleDefinition("WhatsNew", "WhatsNew");
            AddModuleToPage(newPage, ModuleDefID, "What's New", "~/images/icon_whatsnew_32px.gif");

            //add console module
            ModuleDefID = AddModuleDefinition("Console", "Display children pages as icon links for navigation.", "Console", "DotNetNuke.Modules.Console.Components.ConsoleController", true, false, false);
            AddModuleControl(ModuleDefID, "", "Console", "DesktopModules/Admin/Console/ViewConsole.ascx", "", SecurityAccessLevel.Anonymous, 0);
            AddModuleControl(ModuleDefID, "Settings", "Console Settings", "DesktopModules/Admin/Console/Settings.ascx", "", SecurityAccessLevel.Admin, 0);

            //add console module to host page
            ModuleID = AddModuleToPage("//Host", Null.NullInteger, ModuleDefID, "Basic Features", "", true);
            int tabID = TabController.GetTabByTabPath(Null.NullInteger, "//Host");
            TabInfo tab = null;

            //add console settings for host page
            if ((tabID != Null.NullInteger))
            {
                tab = objTabController.GetTab(tabID, Null.NullInteger, true);
                if (((tab != null)))
                {
                    AddConsoleModuleSettings(tabID, ModuleID);
                }
            }

            //add module to all admin pages
            foreach (PortalInfo portal in objPortalController.GetPortals())
            {
                tabID = TabController.GetTabByTabPath(portal.PortalID, "//Admin");
                if ((tabID != Null.NullInteger))
                {
                    tab = objTabController.GetTab(tabID, portal.PortalID, true);
                    if (((tab != null)))
                    {
                        ModuleID = AddModuleToPage(tab, ModuleDefID, "Basic Features", "", true);
                        AddConsoleModuleSettings(tabID, ModuleID);
                    }
                }
            }

            //Add Google Analytics module
            ModuleDefID = AddModuleDefinition("Google Analytics", "Configure portal Google Analytics settings.", "GoogleAnalytics", false, false);
            AddModuleControl(ModuleDefID, "", "Google Analytics", "DesktopModules/Admin/Analytics/GoogleAnalyticsSettings.ascx", "", SecurityAccessLevel.Admin, 0);
            AddAdminPages("Google Analytics", "Configure portal Google Analytics settings.", "~/images/icon_analytics_16px.gif", "~/images/icon_analytics_32px.gif", true, ModuleDefID, "Google Analytics", "~/images/icon_analytics_32px.gif");
        }
        private static void UpgradeToVersion_540()
        {
            XmlDocument configDoc = Config.Load();
            XPathNavigator configNavigator = configDoc.CreateNavigator().SelectSingleNode("/configuration/system.web.extensions");
            if (configNavigator == null)
            {
                //attempt to remove "System.Web.Extensions" configuration section
                string upgradeFile = string.Format("{0}\\Config\\SystemWebExtensions.config", Globals.InstallMapPath);
                string strMessage = UpdateConfig(upgradeFile, AppContext.Current.Application.Version, "Remove System Web Extensions");
                if (string.IsNullOrEmpty(strMessage))
                {
                    //Log Upgrade
                    Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController();
                    objEventLog.AddLog("UpgradeConfig", "Remove System Web Extensions", PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, Log.EventLog.EventLogController.EventLogType.HOST_ALERT);
                }
                else
                {
                    //Log Failed Upgrade
                    Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController();
                    objEventLog.AddLog("UpgradeConfig", string.Format("Remove System Web Extensions failed. Error reported during attempt to update:{0}", strMessage), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, Log.EventLog.EventLogController.EventLogType.HOST_ALERT);
                }
            }

            //Add Styles Skin Object
            AddSkinControl("TAGS", "DotNetNuke.TagsSkinObject", "Admin/Skins/Tags.ascx");

            //Add Content List module definition
            int moduleDefID = AddModuleDefinition("ContentList", "This module displays a list of content by tag.", "Content List");
            AddModuleControl(moduleDefID, "", "", "DesktopModules/Admin/ContentList/ContentList.ascx", "", SecurityAccessLevel.View, 0);

            //Update registration page
            PortalController objPortals = new PortalController();
            ArrayList arrPortals = objPortals.GetPortals();
            foreach (PortalInfo objPortal in arrPortals)
            {
                objPortal.RegisterTabId = objPortal.UserTabId;
                objPortals.UpdatePortalInfo(objPortal);

                //Add ContentList to Search Results Page
                TabController tabController = new TabController();
                int tabId = TabController.GetTabByTabPath(objPortal.PortalID, "//SearchResults");
                TabInfo searchPage = tabController.GetTab(tabId, objPortal.PortalID, false);
                AddModuleToPage(searchPage, moduleDefID, "Results", "");

            }
        }
Beispiel #10
0
 public static string GenerateTabPath(int ParentId, string TabName)
 {
     string strTabPath = "";
     TabController objTabs = new TabController();
     TabInfo objTab;
     string strTabName;
     objTab = objTabs.GetTab(ParentId, Null.NullInteger, false);
     while (objTab != null)
     {
         strTabName = HtmlUtils.StripNonWord(objTab.TabName, false);
         strTabPath = "//" + strTabName + strTabPath;
         if (Null.IsNull(objTab.ParentId))
         {
             objTab = null;
         }
         else
         {
             objTab = objTabs.GetTab(objTab.ParentId, objTab.PortalID, false);
         }
     }
     strTabPath = strTabPath + "//" + HtmlUtils.StripNonWord(TabName, false);
     return strTabPath;
 }
 public static bool DeleteTab(int tabId, PortalSettings PortalSettings, int UserId)
 {
     bool bDeleted = true;
     TabController objController = new TabController();
     TabInfo objTab = objController.GetTab(tabId, PortalSettings.PortalId, false);
     if (objTab != null)
     {
         List<TabInfo> siblingTabs = objController.GetTabsByPortal(objTab.PortalID).WithParentId(objTab.ParentId);
         int siblingCount = siblingTabs.Count;
         objController.UpdateTabOrder(siblingTabs, 2);
         int tabIndex = objController.GetIndexOfTab(objTab, siblingTabs);
         bDeleted = DeleteTab(objTab, PortalSettings, UserId);
         objTab.TabOrder = 0;
         objController.UpdateTabOrder(objTab, false);
         objController.UpdateTabOrder(siblingTabs, tabIndex + 1, siblingCount - 1, -2);
     }
     else
     {
         bDeleted = false;
     }
     return bDeleted;
 }
Beispiel #12
0
 public static string ImportUrl(int ModuleId, string url)
 {
     string strUrl = url;
     TabType urlType = GetURLType(url);
     int intId = -1;
     PortalSettings portalSettings = GetPortalSettings();
     switch (urlType)
     {
         case TabType.File:
             if (Int32.TryParse(url.Replace("FileID=", ""), out intId))
             {
                 FileController objFileController = new FileController();
                 CommonLibrary.Services.FileSystem.FileInfo objFile = objFileController.GetFileById(intId, portalSettings.PortalId);
                 if (objFile == null)
                 {
                     strUrl = "";
                 }
             }
             else
             {
                 strUrl = "";
             }
             break;
         case TabType.Member:
             if (Int32.TryParse(url.Replace("UserID=", ""), out intId))
             {
                 if (UserController.GetUserById(portalSettings.PortalId, intId) == null)
                 {
                     strUrl = "";
                 }
             }
             else
             {
                 strUrl = "";
             }
             break;
         case TabType.Tab:
             if (Int32.TryParse(url, out intId))
             {
                 TabController objTabController = new TabController();
                 if (objTabController.GetTab(intId, portalSettings.PortalId, false) == null)
                 {
                     strUrl = "";
                 }
             }
             else
             {
                 strUrl = "";
             }
             break;
     }
     return strUrl;
 }
 private bool VerifyPortalTab(int PortalId, int TabId)
 {
     TabInfo objTab = null;
     TabInfo objSplashTab = null;
     TabInfo objHomeTab = null;
     bool isVerified = false;
     TabController objTabController = new TabController();
     TabCollection portalTabs = objTabController.GetTabsByPortal(PortalId);
     TabCollection hostTabs = objTabController.GetTabsByPortal(Null.NullInteger);
     if (TabId != Null.NullInteger)
     {
         if (portalTabs.TryGetValue(TabId, out objTab))
         {
             if (!objTab.IsDeleted)
             {
                 this.ActiveTab = objTab.Clone();
                 isVerified = true;
             }
         }
     }
     if (!isVerified && TabId != Null.NullInteger)
     {
         if (hostTabs.TryGetValue(TabId, out objTab))
         {
             if (!objTab.IsDeleted)
             {
                 this.ActiveTab = objTab.Clone();
                 isVerified = true;
             }
         }
     }
     if (!isVerified && this.SplashTabId > 0)
     {
         objSplashTab = objTabController.GetTab(this.SplashTabId, PortalId, false);
         this.ActiveTab = objSplashTab.Clone();
         isVerified = true;
     }
     if (!isVerified && this.HomeTabId > 0)
     {
         objHomeTab = objTabController.GetTab(this.HomeTabId, PortalId, false);
         this.ActiveTab = objHomeTab.Clone();
         isVerified = true;
     }
     if (!isVerified)
     {
         foreach (TabInfo tab in portalTabs.AsList())
         {
             if (!tab.IsDeleted && tab.IsVisible)
             {
                 this.ActiveTab = tab.Clone();
                 isVerified = true;
                 break;
             }
         }
     }
     if (Null.IsNull(this.ActiveTab.StartDate))
     {
         this.ActiveTab.StartDate = System.DateTime.MinValue;
     }
     if (Null.IsNull(this.ActiveTab.EndDate))
     {
         this.ActiveTab.EndDate = System.DateTime.MaxValue;
     }
     return isVerified;
 }
 private int ParseTab(XmlNode nodeTab, int PortalId, bool IsAdminTemplate, PortalTemplateModuleAction mergeTabs, ref Hashtable hModules, ref Hashtable hTabs, bool IsNewPortal)
 {
     TabInfo objTab = null;
     TabController objTabs = new TabController();
     string strName = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "name");
     PortalInfo objportal = GetPortal(PortalId);
     if (!String.IsNullOrEmpty(strName))
     {
         if (!IsNewPortal)
         {
             string parenttabname = "";
             if (!String.IsNullOrEmpty(XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent")))
             {
                 parenttabname = XmlUtils.GetNodeValue(nodeTab.CreateNavigator(), "parent") + "/";
             }
             if (hTabs[parenttabname + strName] != null)
             {
                 objTab = objTabs.GetTab(Convert.ToInt32(hTabs[parenttabname + strName]), PortalId, false);
             }
         }
         if (objTab == null || IsNewPortal)
         {
             objTab = TabController.DeserializeTab(nodeTab, null, hTabs, PortalId, IsAdminTemplate, mergeTabs, hModules);
         }
         Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController();
         if (objTab.TabName == "Admin")
         {
             objportal.AdminTabId = objTab.TabID;
             UpdatePortalSetup(PortalId, objportal.AdministratorId, objportal.AdministratorRoleId, objportal.RegisteredRoleId, objportal.SplashTabId, objportal.HomeTabId, objportal.LoginTabId, objportal.RegisterTabId, objportal.UserTabId, objportal.AdminTabId, PortalController.GetActivePortalLanguage(PortalId));
             objEventLog.AddLog("AdminTab", objTab.TabID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.PORTAL_SETTING_UPDATED);
         }
         switch (XmlUtils.GetNodeValue(nodeTab, "tabtype", ""))
         {
             case "splashtab":
                 objportal.SplashTabId = objTab.TabID;
                 UpdatePortalSetup(PortalId, objportal.AdministratorId, objportal.AdministratorRoleId, objportal.RegisteredRoleId, objportal.SplashTabId, objportal.HomeTabId, objportal.LoginTabId, objportal.RegisterTabId, objportal.UserTabId, objportal.AdminTabId, PortalController.GetActivePortalLanguage(PortalId));
                 objEventLog.AddLog("SplashTab", objTab.TabID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID,
                     CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.PORTAL_SETTING_UPDATED);
                 break;
             case "hometab":
                 objportal.HomeTabId = objTab.TabID;
                 UpdatePortalSetup(PortalId, objportal.AdministratorId, objportal.AdministratorRoleId, objportal.RegisteredRoleId, objportal.SplashTabId, objportal.HomeTabId, objportal.LoginTabId, objportal.RegisterTabId, objportal.UserTabId, objportal.AdminTabId, PortalController.GetActivePortalLanguage(PortalId));
                 objEventLog.AddLog("HomeTab", objTab.TabID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.PORTAL_SETTING_UPDATED);
                 break;
             case "logintab":
                 objportal.LoginTabId = objTab.TabID;
                 UpdatePortalSetup(PortalId, objportal.AdministratorId, objportal.AdministratorRoleId, objportal.RegisteredRoleId, objportal.SplashTabId, objportal.HomeTabId, objportal.LoginTabId, objportal.RegisterTabId, objportal.UserTabId, objportal.AdminTabId, PortalController.GetActivePortalLanguage(PortalId));
                 objEventLog.AddLog("LoginTab", objTab.TabID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.PORTAL_SETTING_UPDATED);
                 break;
             case "usertab":
                 objportal.UserTabId = objTab.TabID;
                 UpdatePortalSetup(PortalId, objportal.AdministratorId, objportal.AdministratorRoleId, objportal.RegisteredRoleId, objportal.SplashTabId, objportal.HomeTabId, objportal.LoginTabId, objportal.RegisterTabId, objportal.UserTabId, objportal.AdminTabId, PortalController.GetActivePortalLanguage(PortalId));
                 objEventLog.AddLog("UserTab", objTab.TabID.ToString(), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.PORTAL_SETTING_UPDATED);
                 break;
         }
     }
     return 0;
 }
 private void ParseTabs(XmlNode nodeTabs, int PortalId, bool IsAdminTemplate, PortalTemplateModuleAction mergeTabs, bool IsNewPortal)
 {
     Hashtable hModules = new Hashtable();
     Hashtable hTabs = new Hashtable();
     string tabname;
     if (!IsNewPortal)
     {
         Hashtable hTabNames = new Hashtable();
         TabController objTabs = new TabController();
         foreach (KeyValuePair<int, TabInfo> tabPair in objTabs.GetTabsByPortal(PortalId))
         {
             TabInfo objTab = tabPair.Value;
             if (!objTab.IsDeleted)
             {
                 tabname = objTab.TabName;
                 if (!Null.IsNull(objTab.ParentId))
                 {
                     tabname = Convert.ToString(hTabNames[objTab.ParentId]) + "/" + objTab.TabName;
                 }
                 hTabNames.Add(objTab.TabID, tabname);
             }
         }
         foreach (int i in hTabNames.Keys)
         {
             if (hTabs[hTabNames[i]] == null)
             {
                 hTabs.Add(hTabNames[i], i);
             }
         }
         hTabNames = null;
     }
     foreach (XmlNode nodeTab in nodeTabs.SelectNodes("//tab"))
     {
         ParseTab(nodeTab, PortalId, IsAdminTemplate, mergeTabs, ref hModules, ref hTabs, IsNewPortal);
     }
     foreach (XmlNode nodeTab in nodeTabs.SelectNodes("//tab[url/@type = 'Tab']"))
     {
         int tabId = XmlUtils.GetNodeValueInt(nodeTab, "tabid", Null.NullInteger);
         string tabPath = XmlUtils.GetNodeValue(nodeTab, "url", Null.NullString);
         if (tabId > Null.NullInteger)
         {
             TabController controller = new TabController();
             TabInfo objTab = controller.GetTab(tabId, PortalId, false);
             objTab.Url = TabController.GetTabByTabPath(PortalId, tabPath).ToString();
             controller.UpdateTab(objTab);
         }
     }
     foreach (XmlNode nodeTab in nodeTabs.SelectNodes("//tab[url/@type = 'File']"))
     {
         int tabId = XmlUtils.GetNodeValueInt(nodeTab, "tabid", Null.NullInteger);
         string filePath = XmlUtils.GetNodeValue(nodeTab, "url", Null.NullString);
         if (tabId > Null.NullInteger)
         {
             TabController controller = new TabController();
             TabInfo objTab = controller.GetTab(tabId, PortalId, false);
             objTab.Url = "FileID=" + new FileController().ConvertFilePathToFileId(filePath, PortalId).ToString();
             controller.UpdateTab(objTab);
         }
     }
 }
 private static void ClearPermissionCache(int tabId)
 {
     TabController objTabs = new TabController();
     TabInfo objTab = objTabs.GetTab(tabId, Null.NullInteger, false);
     DataCache.ClearTabPermissionsCache(objTab.PortalID);
 }