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;
 }
 private static bool CanAddContentToPage(ModuleInfo objModule)
 {
     bool canManage = Null.NullBoolean;
     TabInfo objTab = new TabController().GetTab(objModule.TabID, objModule.PortalID, false);
     canManage = TabPermissionController.CanAddContentToPage(objTab);
     return canManage;
 }
        /// <summary>
        /// Includes page urls on the sitemap
        /// </summary>
        /// <remarks>
        /// Pages that are included:
        /// - are not deleted
        /// - are not disabled
        /// - are normal pages (not links,...)
        /// - are visible (based on date and permissions)
        /// </remarks>

        public override List<SitemapUrl> GetUrls(int portalId, PortalSettings ps, string version)
        {
            TabController objTabs = new TabController();
            SitemapUrl pageUrl = null;
            List<SitemapUrl> urls = new List<SitemapUrl>();

            useLevelBasedPagePriority = bool.Parse(PortalController.GetPortalSetting("SitemapLevelMode", portalId, "False"));
            minPagePriority = float.Parse(PortalController.GetPortalSetting("SitemapMinPriority", portalId, "0.1"));
            includeHiddenPages = bool.Parse(PortalController.GetPortalSetting("SitemapIncludeHidden", portalId, "True"));

            this.ps = ps;

            foreach (TabInfo objTab in objTabs.GetTabsByPortal(portalId).Values)
            {

                if (!objTab.IsDeleted && !objTab.DisableLink && objTab.TabType == TabType.Normal && (Null.IsNull(objTab.StartDate) || objTab.StartDate < DateTime.Now) && (Null.IsNull(objTab.EndDate) || objTab.EndDate > DateTime.Now) && IsTabPublic(objTab.TabPermissions))
                {
                    if (includeHiddenPages | objTab.IsVisible)
                    {
                        foreach (string languageCode in CommonLibrary.Services.Localization.Localization.GetLocales(portalId).Keys)
                        {
                            pageUrl = GetPageUrl(objTab, languageCode);
                            urls.Add(pageUrl);
                        }
                    }
                }
            }

            return urls;
        }
 public static bool CanViewModule(ModuleInfo objModule)
 {
     bool canView = Null.NullBoolean;
     if (objModule.InheritViewPermissions)
     {
         TabInfo objTab = new TabController().GetTab(objModule.TabID, objModule.PortalID, false);
         canView = TabPermissionController.CanViewPage(objTab);
     }
     else
     {
         canView = provider.CanViewModule(objModule);
     }
     return canView;
 }
 public void ImportModule(int ModuleID, string Content, string Version, int UserId)
 {
     XmlNode xmlSettings = Globals.GetContent(Content, "ConsoleSettings");
     ModuleController moduleCtrl = new ModuleController();
     foreach (string key in _SettingKeys)
     {
         XmlNode node = xmlSettings.SelectSingleNode(key);
         bool doUpdate = true;
         string value = string.Empty;
         try
         {
             if ((node == null))
             {
                 doUpdate = false;
             }
             else
             {
                 value = node.InnerText;
                 switch (key)
                 {
                     case "ParentTabID":
                         int parentTabID = int.Parse(value);
                         TabInfo tabInfo = new TabController().GetTab(parentTabID, PortalController.GetCurrentPortalSettings().PortalId, false);
                         break;
                     case "DefaultSize":
                         doUpdate = GetSizeValues().Contains(value);
                         break;
                     case "DefaultView":
                         doUpdate = GetViewValues().Contains(value);
                         break;
                     case "AllowSizeChange":
                     case "AllowViewChange":
                     case "ShowTooltip":
                         bool.Parse(value);
                         break;
                 }
             }
         }
         catch (Exception ex)
         {
             ex.ToString();
             Exceptions.LogException(new Exception("Unable to import value [" + key + "] for Console Module moduleid [" + ModuleID.ToString() + "]"));
             doUpdate = false;
         }
         if ((doUpdate))
         {
             moduleCtrl.UpdateModuleSetting(ModuleID, key, value);
         }
     }
 }
        private void LoadTabList2DDL()
        {
            ddlTabList.Items.Clear();

            TabController tab_obj = new TabController();
            DataSet ds = tab_obj.GetActiveList(); //select all the nodes from DB
            ddlTabList.DataSource = ds.Tables[0];
            ddlTabList.DataTextField = "TabName";
            ddlTabList.DataValueField = "TabId";
            ddlTabList.DataBind();
            ddlTabList.Items.Insert(0, new ListItem("- Chọn -", "0"));
            ddlTabList.SelectedIndex = 1;
            ddlTabList.Enabled = false;
        }
        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;

        }
Esempio n. 8
0
        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", "");

            }
        }
Esempio n. 9
0
        private void PopulateNavigationSteps(int TabId)
        {
             TabController entity = new TabController();
             DataTable dt = entity.GetAllParentNodesOfSelectedNode(TabId,1);
             string strHTML = string.Empty, Title = string.Empty, Liz = string.Empty, Link = string.Empty;
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++) 
                {
                    Title = dt.Rows[i]["Title"].ToString();                     
                    Link = "/index/" + dt.Rows[i]["TabId"].ToString();
                    Liz += "<li><a href=\"" + Link + "\" title=\"" + Title + "\" target='_self'><span>" + Title + "</span></a>";
                }
            }

            strHTML = "<ul><li class=\"first\"><a href=\"#\">Home</a></li>"
                        + Liz
                        +"</ul>";
            Literal_Title.Text = strHTML;

        }
Esempio n. 10
0
        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 void ShowTreeNodes_TabList()
        {
            int PortalId = Convert.ToInt32(ddlPortalList.SelectedValue);
            bool IsSecure = chkIsSecure.Checked;
            TabController tabs_obj = new TabController();
            DataTable dt = tabs_obj.GetActiveListByPortalIdIsSecure(PortalId, IsSecure);

            ddlParentTab.Items.Clear();
            ddlParentTab.DataSource = dt;
            RecursiveFillTree(dt, 0);

            ddlParentTab.Items.Insert(0, new ListItem("- Root -", "0")); //DROPDOWNLIST
            ddlParentTab.SelectedIndex = 0;
        }
Esempio n. 12
0
        private static void UpgradeToVersion_530()
        {
            int ModuleDefID = 0;

            //update languages module
            ModuleDefID = GetModuleDefinition("Languages", "Languages");
            RemoveModuleControl(ModuleDefID, "");
            AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Languages/languageEnabler.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.View, 0, "", true);
            AddModuleControl(ModuleDefID, "Editor", "", "DesktopModules/Admin/Languages/languageeditor.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.View, 0);

            //Add new View Profile module
            ModuleDefID = AddModuleDefinition("ViewProfile", "", "ViewProfile", false, false);
            AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/ViewProfile/ViewProfile.ascx", "~/images/icon_profile_32px.gif", SecurityAccessLevel.View, 0);
            AddModuleControl(ModuleDefID, "Settings", "Settings", "DesktopModules/Admin/ViewProfile/Settings.ascx", "~/images/icon_profile_32px.gif", SecurityAccessLevel.Edit, 0);

            //Add new Sitemap settings module
            ModuleDefID = AddModuleDefinition("Sitemap", "", "Sitemap", false, false);
            AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Sitemap/SitemapSettings.ascx", "~/images/icon_analytics_32px.gif", SecurityAccessLevel.View, 0);
            AddAdminPages("Search Engine Sitemap", "Configure the sitemap for submission to common search engines.", "~/images/icon_analytics_16px.gif", "~/images/icon_analytics_32px.gif", true, ModuleDefID, "Search Engine Sitemap", "~/images/icon_analytics_32px.gif");


            //Add new Photo Profile field to Host
            ListController objListController = new ListController();
            ListEntryInfoCollection dataTypes = objListController.GetListEntryInfoCollection("DataType");

            ProfilePropertyDefinitionCollection properties = ProfileController.GetPropertyDefinitionsByPortal(Null.NullInteger);
            ProfileController.AddDefaultDefinition(Null.NullInteger, "Preferences", "Photo", "Image", 0, properties.Count * 2 + 2, dataTypes);

            string strHostTemplateFile = string.Format("{0}Templates\\UserProfile.page.template", Globals.HostMapPath);
            if (File.Exists(strHostTemplateFile))
            {
                TabController tabController = new TabController();
                PortalController objPortals = new PortalController();
                ArrayList arrPortals = objPortals.GetPortals();
                foreach (PortalInfo objPortal in arrPortals)
                {
                    properties = ProfileController.GetPropertyDefinitionsByPortal(objPortal.PortalID);

                    //Add new Photo Profile field to Portal
                    ProfileController.AddDefaultDefinition(objPortal.PortalID, "Preferences", "Photo", "Image", 0, properties.Count * 2 + 2, dataTypes);

                    //Rename old Default Page template
                    File.Move(string.Format("{0}Templates\\Default.page.template", objPortal.HomeDirectoryMapPath), string.Format("{0}Templates\\Default_old.page.template", objPortal.HomeDirectoryMapPath));

                    //Update Default profile template in every portal
                    objPortals.CopyPageTemplate("Default.page.template", objPortal.HomeDirectoryMapPath);

                    //Add User profile template to every portal
                    objPortals.CopyPageTemplate("UserProfile.page.template", objPortal.HomeDirectoryMapPath);

                    //Synchronize the Templates folder to ensure the templates are accessible
                    FileSystemUtils.SynchronizeFolder(objPortal.PortalID, string.Format("{0}Templates\\", objPortal.HomeDirectoryMapPath), "Templates/", false, true, true, false);

                    XmlDocument xmlDoc = new XmlDocument();
                    try
                    {
                        // open the XML file
                        xmlDoc.Load(string.Format("{0}Templates\\UserProfile.page.template", objPortal.HomeDirectoryMapPath));
                    }
                    catch (Exception ex)
                    {
                        Exceptions.Exceptions.LogException(ex);
                    }

                    TabInfo newTab = new TabInfo();
                    newTab = TabController.DeserializeTab(xmlDoc.SelectSingleNode("//portal/tabs/tab"), null, objPortal.PortalID, PortalTemplateModuleAction.Merge);
                    TabController.DeserializePanes(xmlDoc.SelectSingleNode("//portal/tabs/tab/panes"), newTab.PortalID, newTab.TabID, PortalTemplateModuleAction.Ignore, new Hashtable());

                    //Update SiteSettings to point to the new page
                    objPortal.RegisterTabId = objPortal.UserTabId;
                    objPortal.UserTabId = newTab.TabID;
                    objPortals.UpdatePortalInfo(objPortal);

                    //Add Users folder to every portal
                    string strUsersFolder = string.Format("{0}Users\\", objPortal.HomeDirectoryMapPath);

                    if (!Directory.Exists(strUsersFolder))
                    {
                        //Create Users folder
                        Directory.CreateDirectory(strUsersFolder);

                        //Synchronize the Users folder to ensure the user folder is accessible
                        FileSystemUtils.SynchronizeFolder(objPortal.PortalID, strUsersFolder, "Users/", false, true, true, false);
                    }
                }
            }

            //Add new EventQueue Event
            CommonLibrary.Services.EventQueue.Config.EventQueueConfiguration config = CommonLibrary.Services.EventQueue.Config.EventQueueConfiguration.GetConfig();
            if (config != null)
            {
                if (!config.PublishedEvents.ContainsKey("Application_Start_FirstRequest"))
                {
                    foreach (CommonLibrary.Services.EventQueue.Config.SubscriberInfo subscriber in config.EventQueueSubscribers.Values)
                    {
                        CommonLibrary.Services.EventQueue.Config.EventQueueConfiguration.RegisterEventSubscription(config, "Application_Start_FirstRequest", subscriber);
                    }

                    EventQueueConfiguration.SaveConfig(config, string.Format("{0}EventQueue\\EventQueue.config", Globals.HostMapPath));
                }
            }
            //Change Key for Module Defintions
            ModuleDefID = GetModuleDefinition("Extensions", "Extensions");
            RemoveModuleControl(ModuleDefID, "ImportModuleDefinition");
            AddModuleControl(ModuleDefID, "EditModuleDefinition", "Edit Module Definition", "DesktopModules/Admin/Extensions/Editors/EditModuleDefinition.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0);

            //Module was incorrectly assigned as "IsPremium=False"
            RemoveModuleFromPortals("Users And Roles");
        }
 public void UpdateModuleOrder(int TabId, int ModuleId, int ModuleOrder, string PaneName)
 {
     ModuleInfo objModule = GetModule(ModuleId, TabId, false);
     if (objModule != null)
     {
         if (ModuleOrder == -1)
         {
             IDataReader dr = null;
             try
             {
                 dr = dataProvider.GetTabModuleOrder(TabId, PaneName);
                 while (dr.Read())
                 {
                     ModuleOrder = Convert.ToInt32(dr["ModuleOrder"]);
                 }
             }
             catch (Exception ex)
             {
                 Exceptions.LogException(ex);
             }
             finally
             {
                 CBO.CloseDataReader(dr, true);
             }
             ModuleOrder += 2;
         }
         dataProvider.UpdateModuleOrder(TabId, ModuleId, ModuleOrder, PaneName);
         if (objModule.AllTabs == false)
         {
             ClearCache(TabId);
         }
         else
         {
             TabController objTabs = new TabController();
             foreach (KeyValuePair<int, TabInfo> tabPair in objTabs.GetTabsByPortal(objModule.PortalID))
             {
                 TabInfo objTab = tabPair.Value;
                 ClearCache(objTab.TabID);
             }
         }
     }
 }
Esempio n. 14
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// HostTabExists determines whether a tab of a given name exists under the Host tab
        /// </summary>
        /// <remarks>
        /// </remarks>
        ///	<param name="TabName">The Name of the Tab</param>
        ///	<returns>True if the Tab exists, otherwise False</returns>
        /// <history>
        /// [cnurse]	11/08/2004	documented
        /// </history>
        /// -----------------------------------------------------------------------------
        private static bool HostTabExists(string TabName)
        {

            bool blnExists = false;

            TabController objTabController = new TabController();

            TabInfo objTabInfo = objTabController.GetTabByName(TabName, Null.NullInteger);
            if ((objTabInfo != null))
            {
                blnExists = true;
            }
            else
            {
                blnExists = false;
            }


            return blnExists;
        }
Esempio n. 15
0
 public static NodeCollection GetNavigationNodes(Node objRootNode, ToolTipSource eToolTips, int intStartTabId, int intDepth, int intNavNodeOptions)
 {
     int i;
     PortalSettings objPortalSettings = PortalController.GetCurrentPortalSettings();
     bool blnFoundStart = intStartTabId == -1;
     Hashtable objBreadCrumbs = new Hashtable();
     Hashtable objTabLookup = new Hashtable();
     NodeCollection objRootNodes = objRootNode.Nodes;
     int intLastBreadCrumbId = 0;
     for (i = 0; i <= (objPortalSettings.ActiveTab.BreadCrumbs.Count - 1); i++)
     {
         objBreadCrumbs.Add(((TabInfo)objPortalSettings.ActiveTab.BreadCrumbs[i]).TabID, 1);
         intLastBreadCrumbId = ((TabInfo)objPortalSettings.ActiveTab.BreadCrumbs[i]).TabID;
     }
     TabController objTabController = new TabController();
     List<TabInfo> portalTabs = TabController.GetTabsBySortOrder(objPortalSettings.PortalId);
     List<TabInfo> hostTabs = TabController.GetTabsBySortOrder(Null.NullInteger);
     foreach (TabInfo objTab in portalTabs)
     {
         objTabLookup.Add(objTab.TabID, objTab);
     }
     foreach (TabInfo objTab in hostTabs)
     {
         objTabLookup.Add(objTab.TabID, objTab);
     }
     foreach (TabInfo objTab in portalTabs)
     {
         try
         {
             ProcessTab(objRootNode, objTab, objTabLookup, objBreadCrumbs, intLastBreadCrumbId, eToolTips, intStartTabId, intDepth, intNavNodeOptions);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
     foreach (TabInfo objTab in hostTabs)
     {
         try
         {
             ProcessTab(objRootNode, objTab, objTabLookup, objBreadCrumbs, intLastBreadCrumbId, eToolTips, intStartTabId, intDepth, intNavNodeOptions);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
     return objRootNodes;
 }
Esempio n. 16
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// UpgradeApplication - This overload is used for general application upgrade operations.
        /// </summary>
        /// <remarks>
        ///	Since it is not version specific and is invoked whenever the application is
        ///	restarted, the operations must be re-executable.
        /// </remarks>
        /// <history>
        /// [cnurse]	11/6/2004	documented
        /// [cnurse] 02/27/2007 made public so it can be called from Wizard
        /// </history>
        /// -----------------------------------------------------------------------------
        public static void UpgradeApplication()
        {

            TabController objTabController = new TabController();
            TabInfo HostPage = objTabController.GetTabByName("Host", Null.NullInteger);
            TabInfo newPage = default(TabInfo);

            int ModuleDefID = 0;

            try
            {
                // remove the system message module from the admin tab
                // System Messages are now managed through Localization
                if (CoreModuleExists("System Messages"))
                {
                    RemoveCoreModule("System Messages", "Admin", "Site Settings", false);
                }

                // remove portal alias module
                if (CoreModuleExists("PortalAliases"))
                {
                    RemoveCoreModule("PortalAliases", "Admin", "Site Settings", false);
                }

                // add the log viewer module to the admin tab
                if (CoreModuleExists("LogViewer") == false)
                {
                    ModuleDefID = AddModuleDefinition("LogViewer", "Allows you to view log entries for portal events.", "Log Viewer");
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/LogViewer/LogViewer.ascx", "", SecurityAccessLevel.Admin, 0);
                    AddModuleControl(ModuleDefID, "Edit", "Edit Log Settings", "DesktopModules/Admin/LogViewer/EditLogTypes.ascx", "", SecurityAccessLevel.Host, 0);

                    //Add the Module/Page to all configured portals
                    AddAdminPages("Log Viewer", "View a historical log of database events such as event schedules, exceptions, account logins, module and page changes, user account activities, security role activities, etc.", "icon_viewstats_16px.gif", "icon_viewstats_32px.gif", true, ModuleDefID, "Log Viewer", "icon_viewstats_16px.gif");
                }

                // add the schedule module to the host tab
                if (CoreModuleExists("Scheduler") == false)
                {
                    ModuleDefID = AddModuleDefinition("Scheduler", "Allows you to schedule tasks to be run at specified intervals.", "Scheduler");
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Scheduler/ViewSchedule.ascx", "", SecurityAccessLevel.Admin, 0);
                    AddModuleControl(ModuleDefID, "Edit", "Edit Schedule", "DesktopModules/Admin/Scheduler/EditSchedule.ascx", "", SecurityAccessLevel.Host, 0);
                    AddModuleControl(ModuleDefID, "History", "Schedule History", "DesktopModules/Admin/Scheduler/ViewScheduleHistory.ascx", "", SecurityAccessLevel.Host, 0);
                    AddModuleControl(ModuleDefID, "Status", "Schedule Status", "DesktopModules/Admin/Scheduler/ViewScheduleStatus.ascx", "", SecurityAccessLevel.Host, 0);

                    //Create New Host Page (or get existing one)
                    newPage = AddHostPage("Schedule", "Add, modify and delete scheduled tasks to be run at specified intervals.", "icon_scheduler_16px.gif", "icon_scheduler_32px.gif", true);

                    //Add Module To Page
                    AddModuleToPage(newPage, ModuleDefID, "Schedule", "icon_scheduler_16px.gif");
                }

                // add the Search Admin module to the host tab
                if (CoreModuleExists("SearchAdmin") == false)
                {
                    ModuleDefID = AddModuleDefinition("SearchAdmin", "The Search Admininstrator provides the ability to manage search settings.", "Search Admin");
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SearchAdmin/SearchAdmin.ascx", "", SecurityAccessLevel.Host, 0);

                    //Create New Host Page (or get existing one)
                    newPage = AddHostPage("Search Admin", "Manage search settings associated with DotNetNuke's search capability.", "icon_search_16px.gif", "icon_search_32px.gif", true);

                    //Add Module To Page
                    AddModuleToPage(newPage, ModuleDefID, "Search Admin", "icon_search_16px.gif");
                }

                // add the Search Input module
                if (CoreModuleExists("SearchInput") == false)
                {
                    ModuleDefID = AddModuleDefinition("SearchInput", "The Search Input module provides the ability to submit a search to a given search results module.", "Search Input", false, false);
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SearchInput/SearchInput.ascx", "", SecurityAccessLevel.Anonymous, 0);
                    AddModuleControl(ModuleDefID, "Settings", "Search Input Settings", "DesktopModules/Admin/SearchInput/Settings.ascx", "", SecurityAccessLevel.Edit, 0);
                }

                // add the Search Results module
                if (CoreModuleExists("SearchResults") == false)
                {
                    ModuleDefID = AddModuleDefinition("SearchResults", "The Search Reasults module provides the ability to display search results.", "Search Results", false, false);
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SearchResults/SearchResults.ascx", "", SecurityAccessLevel.Anonymous, 0);
                    AddModuleControl(ModuleDefID, "Settings", "Search Results Settings", "DesktopModules/Admin/SearchResults/Settings.ascx", "", SecurityAccessLevel.Edit, 0);

                    //Add the Search Module/Page to all configured portals
                    AddSearchResults(ModuleDefID);
                }

                // add the site wizard module to the admin tab
                if (CoreModuleExists("SiteWizard") == false)
                {
                    ModuleDefID = AddModuleDefinition("SiteWizard", "The Administrator can use this user-friendly wizard to set up the common Extensions of the Portal/Site.", "Site Wizard");
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SiteWizard/Sitewizard.ascx", "", SecurityAccessLevel.Admin, 0);
                    AddAdminPages("Site Wizard", "Configure portal settings, page design and apply a site template using a step-by-step wizard.", "icon_wizard_16px.gif", "icon_wizard_32px.gif", true, ModuleDefID, "Site Wizard", "icon_wizard_16px.gif");
                }

                //add Lists module and tab
                if (HostTabExists("Lists") == false)
                {
                    ModuleDefID = AddModuleDefinition("Lists", "Allows you to edit common lists.", "Lists");
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Lists/ListEditor.ascx", "", SecurityAccessLevel.Host, 0);

                    //Create New Host Page (or get existing one)
                    newPage = AddHostPage("Lists", "Manage common lists.", "icon_lists_16px.gif", "icon_lists_32px.gif", true);

                    //Add Module To Page
                    AddModuleToPage(newPage, ModuleDefID, "Lists", "icon_lists_16px.gif");
                }

                if (HostTabExists("Superuser Accounts") == false)
                {
                    //add SuperUser Accounts module and tab
                    DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("DNN_Security", Null.NullInteger);
                    ModuleDefID = ModuleDefinitionController.GetModuleDefinitionByFriendlyName("User Accounts", objDesktopModuleInfo.DesktopModuleID).ModuleDefID;

                    //Create New Host Page (or get existing one)
                    newPage = AddHostPage("Superuser Accounts", "Manage host user accounts.", "icon_users_16px.gif", "icon_users_32px.gif", true);

                    //Add Module To Page
                    AddModuleToPage(newPage, ModuleDefID, "Superuser Accounts", "icon_users_32px.gif");
                }

                //Add Edit Role Groups
                ModuleDefID = GetModuleDefinition("Security", "Security Roles");
                AddModuleControl(ModuleDefID, "EditGroup", "Edit Role Groups", "DesktopModules/Admin/Security/EditGroups.ascx", "icon_securityroles_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger);
                AddModuleControl(ModuleDefID, "UserSettings", "Manage User Settings", "DesktopModules/Admin/Security/UserSettings.ascx", "~/images/settings.gif", SecurityAccessLevel.Edit, Null.NullInteger);

                //Add User Accounts Controls
                ModuleDefID = GetModuleDefinition("Security", "User Accounts");
                AddModuleControl(ModuleDefID, "ManageProfile", "Manage Profile Definition", "DesktopModules/Admin/Security/ProfileDefinitions.ascx", "icon_users_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger);
                AddModuleControl(ModuleDefID, "EditProfileProperty", "Edit Profile Property Definition", "DesktopModules/Admin/Security/EditProfileDefinition.ascx", "icon_users_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger);
                AddModuleControl(ModuleDefID, "UserSettings", "Manage User Settings", "DesktopModules/Admin/Security/UserSettings.ascx", "~/images/settings.gif", SecurityAccessLevel.Edit, Null.NullInteger);
                AddModuleControl(Null.NullInteger, "Profile", "Profile", "DesktopModules/Admin/Security/ManageUsers.ascx", "icon_users_32px.gif", SecurityAccessLevel.Anonymous, Null.NullInteger);
                AddModuleControl(Null.NullInteger, "SendPassword", "Send Password", "DesktopModules/Admin/Security/SendPassword.ascx", "", SecurityAccessLevel.Anonymous, Null.NullInteger);
                AddModuleControl(Null.NullInteger, "ViewProfile", "View Profile", "DesktopModules/Admin/Security/ViewProfile.ascx", "icon_users_32px.gif", SecurityAccessLevel.Anonymous, Null.NullInteger);

                //Update Child Portal subHost.aspx
                PortalAliasController objAliasController = new PortalAliasController();
                ArrayList arrAliases = objAliasController.GetPortalAliasArrayByPortalID(Null.NullInteger);
                string childPath = null;

                foreach (PortalAliasInfo objAlias in arrAliases)
                {
                    //For the alias to be for a child it must be of the form ...../child
                    int intChild = objAlias.HTTPAlias.IndexOf("/");
                    if (intChild != -1 & intChild != (objAlias.HTTPAlias.Length - 1))
                    {
                        childPath = Globals.ApplicationMapPath + "\\" + objAlias.HTTPAlias.Substring(intChild + 1);
                        // check if Folder exists
                        if (Directory.Exists(childPath))
                        {
                            System.IO.FileInfo objDefault = new System.IO.FileInfo(childPath + "\\" + Globals.glbDefaultPage);
                            System.IO.FileInfo objSubHost = new System.IO.FileInfo(Common.Globals.HostMapPath + "subhost.aspx");
                            // check if upgrade is necessary
                            if (objDefault.Length != objSubHost.Length)
                            {
                                //Rename existing file
                                System.IO.File.Copy(childPath + "\\" + Globals.glbDefaultPage, childPath + "\\old_" + Globals.glbDefaultPage, true);
                                // create the subhost default.aspx file
                                System.IO.File.Copy(Common.Globals.HostMapPath + "subhost.aspx", childPath + "\\" + Globals.glbDefaultPage, true);
                            }
                        }
                    }
                }

                // add the solutions explorer module to the admin tab
                if (CoreModuleExists("Solutions") == false)
                {
                    ModuleDefID = AddModuleDefinition("Solutions", "Browse additional solutions for your application.", "Solutions", false, false);
                    AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Solutions/Solutions.ascx", "", SecurityAccessLevel.Admin, 0);
                    AddAdminPages("Solutions", "DotNetNuke Solutions Explorer page provides easy access to locate free and commercial DotNetNuke modules, skin and more.", "icon_solutions_16px.gif", "icon_solutions_32px.gif", true, ModuleDefID, "Solutions Explorer", "icon_solutions_32px.gif");
                }


                //Add Search Skin Object
                AddSkinControl("SEARCH", "DotNetNuke.SearchSkinObject", "Admin/Skins/Search.ascx");

                //Add TreeView Skin Object
                AddSkinControl("TREEVIEW", "DotNetNuke.TreeViewSkinObject", "Admin/Skins/TreeViewMenu.ascx");

                //Add Text Skin Object
                AddSkinControl("TEXT", "DotNetNuke.TextSkinObject", "Admin/Skins/Text.ascx");

                //Add Styles Skin Object

                AddSkinControl("STYLES", "DotNetNuke.StylesSkinObject", "Admin/Skins/Styles.ascx");
            }
            catch (Exception ex)
            {
                Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController();
                Services.Log.EventLog.LogInfo objEventLogInfo = new Services.Log.EventLog.LogInfo();
                objEventLogInfo.AddProperty("Upgraded DotNetNuke", "General");
                objEventLogInfo.AddProperty("Warnings", "Error: " + ex.Message + Environment.NewLine);
                objEventLogInfo.LogTypeKey = Services.Log.EventLog.EventLogController.EventLogType.HOST_ALERT.ToString();
                objEventLogInfo.BypassBuffering = true;
                objEventLog.AddLog(objEventLogInfo);
                try
                {
                    Exceptions.Exceptions.LogException(ex);
                }
                catch
                {
                }

                // ignore
            }

            //Remove any .txt and .config files that may exist in the Install folder
            foreach (string strFile in Directory.GetFiles(Globals.InstallMapPath + "Cleanup\\", "??.??.??.txt"))
            {
                FileSystemUtils.DeleteFile(strFile);
            }
            foreach (string strFile in Directory.GetFiles(Globals.InstallMapPath + "Config\\", "??.??.??.config"))
            {
                FileSystemUtils.DeleteFile(strFile);

            }
        }
Esempio n. 17
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;
        }
Esempio n. 18
0
 public static void RemoveHostPage(string pageName)
 {
     TabController controller = new TabController();
     TabInfo skinsTab = controller.GetTabByName(pageName, Null.NullInteger);
     if (skinsTab != null)
     {
         controller.DeleteTab(skinsTab.TabID, Null.NullInteger);
     }
 }
Esempio n. 19
0
        public static void RemoveAdminPages(string tabPath)
        {
            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))
                {
                    objTabController.DeleteTab(tabID, portal.PortalID);
                }
            }
        }
Esempio n. 20
0
        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 void ClearModulePermissionsCachesByPortalInternal(int portalId, bool clearRuntime)
 {
     TabController objTabs = new TabController();
     foreach (KeyValuePair<int, CommonLibrary.Entities.Tabs.TabInfo> tabPair in objTabs.GetTabsByPortal(portalId))
     {
         RemoveFormattedCacheKey(DataCache.ModulePermissionCacheKey, clearRuntime, tabPair.Value.TabID);
     }
 }
Esempio n. 22
0
        /// -----------------------------------------------------------------------------
        /// <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;

            }
        }
 private void ClearPortalCacheInternal(int portalId, bool cascade, bool clearRuntime)
 {
     RemoveFormattedCacheKey(DataCache.PortalSettingsCacheKey, clearRuntime, portalId);
     Dictionary<string, Locale> locales = CommonLibrary.Services.Localization.Localization.GetLocales(portalId);
     if (locales.Count == 0)
     {
         //At least attempt to remove default locale
         string defaultLocale = PortalController.GetPortalDefaultLanguage(portalId);
         RemoveCacheKey(String.Format(DataCache.PortalCacheKey, portalId.ToString() + "-" + defaultLocale), clearRuntime);
     }
     else
     {
         foreach (Locale portalLocale in Localization.Localization.GetLocales(portalId).Values)
         {
             RemoveCacheKey(String.Format(DataCache.PortalCacheKey, portalId.ToString() + "-" + portalLocale.Code), clearRuntime);
         }
     }
     if (cascade)
     {
         TabController objTabs = new TabController();
         foreach (KeyValuePair<int, TabInfo> tabPair in objTabs.GetTabsByPortal(portalId))
         {
             ClearModuleCacheInternal(tabPair.Value.TabID, clearRuntime);
         }
         ModuleController moduleController = new ModuleController();
         foreach (ModuleInfo moduleInfo in moduleController.GetModules(portalId))
         {
             RemoveCacheKey("GetModuleSettings" + moduleInfo.ModuleID.ToString(), clearRuntime);
         }
     }
     ClearFolderCacheInternal(portalId, clearRuntime);
     ClearCacheKeysByPortalInternal(portalId, clearRuntime);
     ClearDesktopModuleCacheInternal(portalId, clearRuntime);
     ClearTabCacheInternal(portalId, clearRuntime);
 }
Esempio n. 24
0
        private static int RemoveModule(string DesktopModuleName, string TabName, int ParentId, bool TabRemove)
        {
            TabController objTabs = new TabController();
            ModuleController objModules = new ModuleController();
            TabInfo objTab = objTabs.GetTabByName(TabName, Null.NullInteger, ParentId);
            int intModuleDefId = 0;
            int intCount = 0;

            //Get the Modules on the Tab
            if (objTab != null)
            {
                foreach (KeyValuePair<int, ModuleInfo> kvp in objModules.GetTabModules(objTab.TabID))
                {
                    ModuleInfo objModule = kvp.Value;
                    if (objModule.DesktopModule.FriendlyName == DesktopModuleName)
                    {
                        //Delete the Module from the Modules list
                        objModules.DeleteTabModule(objModule.TabID, objModule.ModuleID, false);
                        intModuleDefId = objModule.ModuleDefID;
                    }
                    else
                    {
                        intCount += 1;
                    }
                }

                //If Tab has no modules optionally remove tab
                if (intCount == 0 & TabRemove)
                {
                    objTabs.DeleteTab(objTab.TabID, objTab.PortalID);
                }
            }

            return intModuleDefId;
        }
        //private DataTable PopulateSelectedRights(int PermissionId)
        //{
        //    string RoleId = string.Empty;
        //    if (Request.QueryString["role_id"] != null && Request.QueryString["role_id"].ToString() != string.Empty)
        //    {
        //        RoleId = Request.QueryString["role_id"].ToString();
        //    }
        //    TabPermissionController tab_permission_obj = new TabPermissionController();
        //    DataTable dt = tab_permission_obj.GetListByRoleIdPermissionId(RoleId, PermissionId);
        //    return dt;
        //}

        private void FillDataInGrid()
        {
            string PortalId = ddlPortalList.SelectedValue;
            int isadmin = Convert.ToInt32(Session["IsSuperUser"].ToString());
            if (PortalId != string.Empty)
            {
                TabController tab_obj = new TabController();
                dt = tab_obj.GetListByPortalId(PortalId, isadmin);

                if (dt.Rows.Count > 0)
                {
                    GridView1.DataSource = dt;
                    GridView1.DataBind();
                    //GridView1.HeaderRow.Attributes["style"] = "display:block";
                    //GridView1.UseAccessibleHeader = true;
                    //GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
                }
                else
                {
                    dt.Rows.Add(dt.NewRow());
                    GridView1.DataSource = dt;
                    GridView1.DataBind();

                    int TotalColumns = GridView1.Rows[0].Cells.Count;
                    GridView1.Rows[0].Cells.Clear();
                    GridView1.Rows[0].Cells.Add(new TableCell());
                    GridView1.Rows[0].Cells[0].ColumnSpan = TotalColumns;
                    GridView1.Rows[0].Cells[0].Text = "No Record Found";
                }
            }
        }        
Esempio n. 26
0
        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);
                    }
                }
            }
        }
Esempio n. 27
0
        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");
        }
Esempio n. 28
0
        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();
        }
Esempio n. 29
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// RemoveCoreModule removes a Core Module from the system
        /// </summary>
        /// <remarks>
        /// </remarks>
        ///	<param name="DesktopModuleName">The Friendly Name of the Module to Remove</param>
        ///	<param name="ParentTabName">The Name of the parent Tab/Page for this module</param>
        ///	<param name="TabName">The Name to tab that contains the Module</param>
        ///	<param name="TabRemove">A flag to determine whether to remove the Tab if it has no
        ///	other modules</param>
        /// <history>
        /// [cnurse]	10/14/2004	documented
        /// </history>
        /// -----------------------------------------------------------------------------
        private static void RemoveCoreModule(string DesktopModuleName, string ParentTabName, string TabName, bool TabRemove)
        {
            int ParentId = 0;
            int intModuleDefId = Null.NullInteger;
            int intDesktopModuleId = 0;

            //Find and remove the Module from the Tab
            switch (ParentTabName)
            {
                case "Host":
                    TabController objTabs = new TabController();
                    TabInfo objTab = objTabs.GetTabByName("Host", Null.NullInteger, Null.NullInteger);

                    if (objTab != null)
                    {
                        intModuleDefId = RemoveModule(DesktopModuleName, TabName, objTab.TabID, TabRemove);
                    }
                    break;
                case "Admin":
                    PortalController objPortals = new PortalController();
                    PortalInfo objPortal = default(PortalInfo);

                    ArrayList arrPortals = objPortals.GetPortals();
                    int intPortal = 0;

                    //Iterate through the Portals to remove the Module from the Tab
                    for (intPortal = 0; intPortal <= arrPortals.Count - 1; intPortal++)
                    {
                        objPortal = (PortalInfo)arrPortals[intPortal];
                        ParentId = objPortal.AdminTabId;
                        intModuleDefId = RemoveModule(DesktopModuleName, TabName, ParentId, TabRemove);
                    }
                    break;
            }

            DesktopModuleInfo objDesktopModule = null;
            if (intModuleDefId == Null.NullInteger)
            {
                objDesktopModule = DesktopModuleController.GetDesktopModuleByModuleName(DesktopModuleName, Null.NullInteger);
                intDesktopModuleId = objDesktopModule.DesktopModuleID;
            }
            else
            {
                //Get the Module Definition
                ModuleDefinitionController objModuleDefinitions = new ModuleDefinitionController();
                ModuleDefinitionInfo objModuleDefinition = ModuleDefinitionController.GetModuleDefinitionByID(intModuleDefId);
                if (objModuleDefinition != null)
                {
                    intDesktopModuleId = objModuleDefinition.DesktopModuleID;
                    objDesktopModule = DesktopModuleController.GetDesktopModule(intDesktopModuleId, Null.NullInteger);
                }
            }

            if (objDesktopModule != null)
            {
                //Delete the Desktop Module
                DesktopModuleController objDesktopModules = new DesktopModuleController();
                objDesktopModules.DeleteDesktopModule(intDesktopModuleId);

                //Delete the Package
                PackageController.DeletePackage(objDesktopModule.PackageID);

            }
        }
Esempio n. 30
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// AddHostPage adds a Host Tab Page
        /// </summary>
        ///	<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 AddHostPage(string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible)
        {
            TabController objTabController = new TabController();
            TabInfo HostPage = objTabController.GetTabByName("Host", Null.NullInteger);

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