/// <summary> /// Upgrades the module. /// </summary> /// <param name="Version">The version.</param> /// <returns>System.String.</returns> public string UpgradeModule(string Version) { TabController tabs = new TabController(); foreach (PortalInfo p in new PortalController().GetPortals()) { TabInfo tabInfo = tabs.GetTabByName("Vanity Urls", p.PortalID); if (tabInfo == null) { tabInfo = new TabInfo(); tabInfo.TabID = -1; tabInfo.ParentId = tabs.GetTabByName("Admin", p.PortalID).TabID; tabInfo.PortalID = p.PortalID; tabInfo.TabName = "Vanity Urls"; try { int tabId = tabs.AddTab(tabInfo); AddModuleToPage(p.PortalID, tabId); return "Vanity Urls page added"; } catch (Exception ex) { DotNetNuke.Services.Exceptions.Exceptions.LogException(ex); } } } return ""; }
private static void AddUniqueUrlToIndex(string furlKey, ref string qsKey, string qsValue, int portalID, Hashtable queryStringIndex, FriendlyUrlOptions options, bool addSuffixIfDuplicateFound, out string suffix) { DotNetNuke.Entities.Tabs.TabController tc = new DotNetNuke.Entities.Tabs.TabController(); bool duplicate = false; suffix = "";//can hold a de-duplicating suffix int suffixCounter = 1; bool furlKeyUsed = false; do { duplicate = false;//always start in the assumption that this is not a duplicate DotNetNuke.Entities.Tabs.TabInfo matchingTab = tc.GetTabByName(qsKey, portalID); if (matchingTab != null) { duplicate = true; } else if (portalID >= 0) { matchingTab = tc.GetTabByName(qsKey, -1);//host tabs if (matchingTab != null) { duplicate = true; } } if (duplicate == false) { //try and add to index if (queryStringIndex.ContainsKey(qsKey) == false) { queryStringIndex.Add(qsKey, qsValue); } else { duplicate = true; } } if (duplicate == true) { if (furlKeyUsed == false) { furlKeyUsed = true; suffix = options.PunctuationReplacement + furlKey; qsKey += suffix; } else { suffix += suffixCounter.ToString(); qsKey += suffix; } } }while (duplicate == true && addSuffixIfDuplicateFound == true); }
public void MustHaveTestPageAdded() { //Create a tabInfo obj, then use TabController AddTab Method? TabInfo newPage = new TabInfo(); newPage.TabName = "Test Page"; newPage.PortalID = 0; newPage.SkinSrc = "[G]Skins/DarkKnight/Home-Mega-Menu.ascx"; newPage.ContainerSrc = "[G]Containers/DarkKnight/SubTitle_Grey.ascx"; TabController tabController = new TabController(); var tab = tabController.GetTabByName("Test Page", 0); if (tab == null) { try { tabController.AddTab(newPage); } catch (Exception exc) { Assert.IsTrue(false, "Add Tab result: " + exc.Message); } //tabController.AddTab(newPage); newPage = tabController.GetTabByName("Test Page", 0); TabPermissionInfo tabPermission = new TabPermissionInfo(); tabPermission.PermissionID = 3; tabPermission.TabID = newPage.TabID; tabPermission.AllowAccess = true; tabPermission.RoleID = 0; newPage.TabPermissions.Add(tabPermission); try { tabController.UpdateTab(newPage); } catch (Exception exc) { Assert.IsTrue(false, "Update Tab result: " + exc.Message); } newPage = tabController.GetTabByName("Test Page", 0); tabPermission.RoleID = 0; tabPermission.PermissionID = 4; tabPermission.TabID = newPage.TabID; tabPermission.AllowAccess = true; newPage.TabPermissions.Add(tabPermission); try { tabController.UpdateTab(newPage); } catch (Exception exc) { Assert.IsTrue(false, "Update Tab Permissions result: " + exc.Message); } Thread.Sleep(1500); } }
public TabInfo AddCoursePage(string tabName, string tabTitle) { PortalSettings portalSettings = new PortalSettings(); int portalId = portalSettings.PortalId; TabController tabController = new TabController(); TabInfo getTab = tabController.GetTabByName(tabName, portalId); if (getTab != null) throw new Exception("Cannot create Page. Page with this PageName already exists"); TabInfo newTab = new TabInfo(); newTab.PortalID = portalId; newTab.TabName = tabName; newTab.Title = tabTitle; newTab.SkinSrc = "[G]Skins/20047-UnlimitedColorPack-033/CoursePage.ascx"; newTab.ContainerSrc = portalSettings.DefaultPortalContainer; CommonTabSettings(newTab); AddViewPermissions(newTab); int tabId = tabController.AddTab(newTab, true); DotNetNuke.Common.Utilities.DataCache.ClearModuleCache(tabId); AddTabURL(newTab); //Makes the URL of Page /4 or /C4 // add modules to new page AddModuleToPage(newTab, ModuleType.DisplayCourse); AddModuleToPage(newTab, ModuleType.Rating); AddModuleToPage(newTab, ModuleType.Comments); return newTab; }
public static string GetCulturedUrlByTabName(string keyName, int portalId, string language) { try { var objTabController = new DotNetNuke.Entities.Tabs.TabController(); var tab = objTabController.GetTabByName(keyName, portalId); if (tab != null) { Locale locale = LocaleController.Instance.GetLocale(language); var culturedTab = objTabController.GetTabByCulture(tab.TabID, portalId, locale); if (culturedTab != null) { return(Globals.NavigateURL(culturedTab.TabID)); } } return(string.Empty); } catch (Exception ee) { DotNetNuke.Services.Exceptions.Exceptions.LogException(ee); return(string.Empty); } }
public override void TestFixtureSetUp() { base.TestFixtureSetUp(); var tc = new TabController(); var tab = tc.GetTabByName(_aboutUsPageName, PortalId); _tabId = tab.TabID; //Add Portal Aliases var aliasController = new PortalAliasController(); TestUtil.ReadStream(String.Format("{0}", "Aliases"), (line, header) => { string[] fields = line.Split(','); var alias = aliasController.GetPortalAlias(fields[0], PortalId); if (alias == null) { alias = new PortalAliasInfo { HTTPAlias = fields[0], PortalID = PortalId }; TestablePortalAliasController.Instance.AddPortalAlias(alias); } }); TestUtil.ReadStream(String.Format("{0}", "Users"), (line, header) => { string[] fields = line.Split(','); TestUtil.AddUser(PortalId, fields[0].Trim(), fields[1].Trim(), fields[2].Trim()); }); }
private void MustNotHavePage(string pageName) { var controller = new TabController(); TabInfo page = controller.GetTabByName(pageName, 0); if (page != null) { controller.DeleteTab(page.TabID, page.PortalID); } }
public void PageDesignersMustNotExist() { var tabController = new TabController(); var tab = tabController.GetTabByName("Designers", 0); if (tab != null) { tabController.DeleteTab(tab.TabID, 0); Config.Touch(); } }
public void GivenThereIsAPageCalled(string pageName, Table permissions) { var reset = false; var tabController = new TabController(); var tab = tabController.GetTabByName(pageName, PortalId); if (tab == null) { tab = new TabInfo { TabName = pageName, PortalID = 0 }; tab.TabID = tabController.AddTab(tab); foreach (var row in permissions.Rows) { var roleId = -1; var roleController = new RoleController(); if (row[0] == "All Users") { roleId = -1; } else { var role = roleController.GetRoleByName(PortalId, row[0]); if (role == null) { if (roleController.GetRoleByName(Null.NullInteger, row[0]) == null) { role = new RoleInfo { RoleName = row[0], RoleGroupID = Null.NullInteger }; roleId = roleController.AddRole(role); } } } var permissionController = new PermissionController(); var permission = permissionController.GetPermissionByCodeAndKey("SYSTEM_TAB", row[1]); var tabPermission = new TabPermissionInfo { PermissionID = 3, TabID = tab.TabID, AllowAccess = true, RoleID = roleId }; tab.TabPermissions.Add(tabPermission); } tabController.UpdateTab(tab); reset = true; } Page = tab; if (reset) { Config.Touch(); } }
public string getUrlPreview(string id) { TabController tCtlr = new TabController(); TabInfo tInfoP = tCtlr.GetTabByName("Contingent Entry", PortalId); int tID = 392; if (tInfoP != null) { int tpID = tInfoP.TabID; TabInfo tInfo = tCtlr.GetTabByName("Input", PortalId, tpID); if (tInfo != null) { tID = tInfo.TabID; } } //return "Default.aspx?tabid=383" + "&ID=" + id; //return "Default.aspx?tabid=392" + "&ID=" + id; return "Default.aspx?tabid=" + tID + "&ID=" + id; }
public static string GetCulturedUrlByTabName(string keyName) { var objTabController = new DotNetNuke.Entities.Tabs.TabController(); var tab = objTabController.GetTabByName(keyName, PortalController.GetCurrentPortalSettings().PortalId); if (tab != null) { var culturedTab = objTabController.GetTabByCulture(tab.TabID, PortalController.GetCurrentPortalSettings().PortalId, LocaleController.Instance.GetCurrentLocale(PortalController.GetCurrentPortalSettings().PortalId)); if (culturedTab != null) { return(Globals.NavigateURL(culturedTab.TabID)); } } return(string.Empty); }
public void AdvancedUrlRewriter_ForwardExternalUrls(Dictionary<string, string> testFields) { var settings = UrlTestFactoryClass.GetSettings("UrlRewrite", testFields["TestName"]); settings.PortalId = PortalId; var tc = new TabController(); var tab = tc.GetTabByName(_testPage, PortalId); tab.Url = testFields["ExternalUrl"]; tc.UpdateTab(tab); ExecuteTest(settings, testFields, true); }
private void ExecuteTest(FriendlyUrlSettings settings, Dictionary<string, string> testFields, bool setDefaultAlias) { var tabName = testFields["Page Name"]; var tc = new TabController(); var tab = tc.GetTabByName(tabName, PortalId); if (setDefaultAlias) { SetDefaultAlias(testFields); } ExecuteTestForTab(tab, settings, testFields); }
public void AdvancedUrlRewriter_DeletedTabHandling(Dictionary<string, string> testFields) { var settings = UrlTestFactoryClass.GetSettings("UrlRewrite", testFields["TestName"]); settings.PortalId = PortalId; var tc = new TabController(); var tab = tc.GetTabByName(_testPage, PortalId); if (Convert.ToBoolean(testFields["HardDeleted"])) { DeleteTab(_testPage); CacheController.FlushPageIndexFromCache(); } else { tab.IsDeleted = Convert.ToBoolean(testFields["SoftDeleted"]); tab.DisableLink = Convert.ToBoolean(testFields["Disabled"]); if (Convert.ToBoolean(testFields["Expired"])) { tab.EndDate = DateTime.Now - TimeSpan.FromDays(1); } UpdateTab(tab); } string deletedTabHandling = testFields.GetValue("DeletedTabHandling"); if (!String.IsNullOrEmpty(deletedTabHandling)) { switch (deletedTabHandling) { case "Do404Error": settings.DeletedTabHandlingType = DeletedTabHandlingType.Do404Error; break; default: settings.DeletedTabHandlingType = DeletedTabHandlingType.Do301RedirectToPortalHome; break; } } SetDefaultAlias(testFields); ExecuteTest(settings, testFields, true); }
public override void TearDown() { base.TearDown(); DeleteTab(_testPage); UpdateTabName(_tabId, "About Us"); UpdateTabSkin(_tabId, "[G]Skins/Gravity/2-Col.ascx"); if (!String.IsNullOrEmpty(_securePageName)) { var tc = new TabController(); var tab = tc.GetTabByName(_securePageName, PortalId); if (tab != null) { tab.IsSecure = false; UpdateTab(tab); } } if (_customLocale != null) { Localization.RemoveLanguageFromPortals(_customLocale.LanguageId); Localization.DeleteLanguage(_customLocale); } if (_primaryAlias != null) { TestablePortalAliasController.Instance.DeletePortalAlias(_primaryAlias); } SetDefaultAlias(DefaultAlias); PortalController.UpdatePortalSetting(PortalId, "PortalAliasMapping", _redirectMode); PortalController.UpdatePortalSetting(PortalId, "SSLEnforced", _sslEnforced.ToString()); PortalController.UpdatePortalSetting(PortalId, "SSLEnabled", _sslEnabled.ToString()); foreach (var tabUrl in CBO.FillCollection<TabUrlInfo>(DataProvider.Instance().GetTabUrls(PortalId))) { TestableTabController.Instance.DeleteTabUrl(tabUrl, PortalId, true); } }
private void DeleteTab(string tabName) { var tc = new TabController(); var tab = tc.GetTabByName(tabName, PortalId); if (tab != null) { tc.DeleteTab(tab.TabID, PortalId); } }
private void GetShowOnlyCurrent(TabController objTabController, ref int StartingItemId, ref int iRootGroupId) { StartingItemId = 0; iRootGroupId = 0; //check if we have a value to work with if (string.IsNullOrEmpty(ShowOnlyCurrent)) { return; } //check if user specified an ID if ((char.IsDigit(ShowOnlyCurrent.ToCharArray()[0]))) { int output; if(int.TryParse(ShowOnlyCurrent, out output)) { StartingItemId = output; } } //check if user specified a page name if ((ShowOnlyCurrent.StartsWith("PageItem:"))) { TabInfo temptab = objTabController.GetTabByName(ShowOnlyCurrent.Substring(("PageItem:").Length), PortalSettings.PortalId); if ((temptab != null)) { StartingItemId = temptab.TabID; } } //RootItem if (("RootItem" == ShowOnlyCurrent)) { iRootGroupId = PortalSettings.ActiveTab.TabID; while (((objTabController.GetTab(iRootGroupId, PortalSettings.PortalId, true)).ParentId != -1)) { iRootGroupId = (objTabController.GetTab(iRootGroupId, PortalSettings.PortalId, true)).ParentId; } } }
/// ----------------------------------------------------------------------------- /// <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="removeTab">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 removeTab) { DnnInstallLogger.InstallLogInfo(Localization.Localization.GetString("LogStart", Localization.Localization.GlobalResourceFile) + "RemoveCoreModule:" + desktopModuleName); int moduleDefId = Null.NullInteger; int desktopModuleId = 0; //Find and remove the Module from the Tab switch (parentTabName) { case "Host": var tabController = new TabController(); var tab = tabController.GetTabByName("Host", Null.NullInteger, Null.NullInteger); if (tab != null) { moduleDefId = RemoveModule(desktopModuleName, tabName, tab.TabID, removeTab); } break; case "Admin": var portalController = new PortalController(); PortalInfo portal; var portals = portalController.GetPortals(); //Iterate through the Portals to remove the Module from the Tab for (int intPortal = 0; intPortal <= portals.Count - 1; intPortal++) { portal = (PortalInfo) portals[intPortal]; moduleDefId = RemoveModule(desktopModuleName, tabName, portal.AdminTabId, removeTab); } break; } DesktopModuleInfo desktopModule = null; if (moduleDefId == Null.NullInteger) { desktopModule = DesktopModuleController.GetDesktopModuleByModuleName(desktopModuleName, Null.NullInteger); desktopModuleId = desktopModule.DesktopModuleID; } else { //Get the Module Definition ModuleDefinitionInfo moduleDefinition = ModuleDefinitionController.GetModuleDefinitionByID(moduleDefId); if (moduleDefinition != null) { desktopModuleId = moduleDefinition.DesktopModuleID; desktopModule = DesktopModuleController.GetDesktopModule(desktopModuleId, Null.NullInteger); } } if (desktopModule != null) { //Delete the Desktop Module var desktopModuleController = new DesktopModuleController(); desktopModuleController.DeleteDesktopModule(desktopModuleId); //Delete the Package PackageController.DeletePackage(desktopModule.PackageID); } }
public void AdvancedUrlRewriter_ReplaceChars(Dictionary<string, string> testFields) { var settings = UrlTestFactoryClass.GetSettings("UrlRewrite", testFields["TestName"]); string testPageName = testFields.GetValue("TestPageName"); TabInfo tab = null; if (!String.IsNullOrEmpty(testPageName)) { var tabName = testFields["Page Name"]; var tc = new TabController(); tab = tc.GetTabByName(tabName, PortalId); tab.TabName = testPageName; tc.UpdateTab(tab); //Refetch tab from DB tab = tc.GetTab(tab.TabID, tab.PortalID, false); } settings.PortalId = PortalId; string autoAscii = testFields.GetValue("AutoAscii"); if (!String.IsNullOrEmpty(autoAscii)) { settings.AutoAsciiConvert = Convert.ToBoolean(autoAscii); } TestUtil.GetReplaceCharDictionary(testFields, settings.ReplaceCharacterDictionary); SetDefaultAlias(testFields); ExecuteTestForTab(tab, settings, testFields); }
private void UpdateTabSetting(string tabName, string settingName, string settingValue) { var tc = new TabController(); var tab = tc.GetTabByName(tabName, PortalId); tab.TabSettings[settingName] = settingValue; tc.UpdateTab(tab); }
private static int RemoveModule(string desktopModuleName, string tabName, int parentId, bool removeTab) { DnnInstallLogger.InstallLogInfo(Localization.Localization.GetString("LogStart", Localization.Localization.GlobalResourceFile) + "RemoveModule:" + desktopModuleName); var tabController = new TabController(); var moduleController = new ModuleController(); TabInfo tab = tabController.GetTabByName(tabName, Null.NullInteger, parentId); int moduleDefId = 0; int count = 0; //Get the Modules on the Tab if (tab != null) { foreach (KeyValuePair<int, ModuleInfo> kvp in moduleController.GetTabModules(tab.TabID)) { var module = kvp.Value; if (module.DesktopModule.FriendlyName == desktopModuleName) { //Delete the Module from the Modules list moduleController.DeleteTabModule(module.TabID, module.ModuleID, false); moduleDefId = module.ModuleDefID; } else { count += 1; } } //If Tab has no modules optionally remove tab if (count == 0 && removeTab) { tabController.DeleteTab(tab.TabID, tab.PortalID); } } return moduleDefId; }
private static void UpgradeToVersion602() { //Add avi,mpg,mpeg,mp3,wmv,mov,wav extensions var exts = new List<string> { ".avi", ".mpg", ".mpeg", ".mp3", ".wmv", ".mov", ".wav" }; HostController.Instance.Update("FileExtensions", Host.AllowedExtensionWhitelist.ToStorageString(exts)); //Fix the icons for SiteMap page var portalController = new PortalController(); foreach (PortalInfo portal in portalController.GetPortals()) { var tabController = new TabController(); var siteMap = tabController.GetTabByName("Search Engine SiteMap", portal.PortalID); if (siteMap != null) { siteMap.IconFile = "~/Icons/Sigma/Sitemap_16X16_Standard.png"; siteMap.IconFileLarge = "~/Icons/Sigma/Sitemap_32X32_Standard.png"; tabController.UpdateTab(siteMap); } } }
private static void UpgradeToVersion600() { var tabController = new TabController(); var hostPages = tabController.GetTabsByPortal(Null.NullInteger); //This ensures that all host pages have a tab path. //so they can be found later. (DNNPRO-17129) foreach (var hostPage in hostPages.Values) { hostPage.TabPath = Globals.GenerateTabPath(hostPage.ParentId, hostPage.TabName); tabController.UpdateTab(hostPage); } var settings = PortalController.GetCurrentPortalSettings(); var moduleController = new ModuleController(); if (settings != null) { var hostTab = tabController.GetTab(settings.SuperTabId, Null.NullInteger, false); hostTab.IsVisible = false; tabController.UpdateTab(hostTab); foreach (var module in moduleController.GetTabModules(settings.SuperTabId).Values) { moduleController.UpdateTabModuleSetting(module.TabModuleID, "hideadminborder", "true"); } } //remove timezone editor int moduleDefId = GetModuleDefinition("Languages", "Languages"); RemoveModuleControl(moduleDefId, "TimeZone"); //6.0 requires the old TimeZone property to be marked as Deleted - Delete for Host ProfilePropertyDefinition ppdHostTimeZone = ProfileController.GetPropertyDefinitionByName(Null.NullInteger, "TimeZone"); if (ppdHostTimeZone != null) { ProfileController.DeletePropertyDefinition(ppdHostTimeZone); } var portalController = new PortalController(); foreach (PortalInfo portal in portalController.GetPortals()) { //update timezoneinfo #pragma warning disable 612,618 TimeZoneInfo timeZoneInfo = Localization.Localization.ConvertLegacyTimeZoneOffsetToTimeZoneInfo(portal.TimeZoneOffset); #pragma warning restore 612,618 PortalController.UpdatePortalSetting(portal.PortalID, "TimeZone", timeZoneInfo.Id, false); //6.0 requires the old TimeZone property to be marked as Deleted - Delete for Portals ProfilePropertyDefinition ppdTimeZone = ProfileController.GetPropertyDefinitionByName(portal.PortalID, "TimeZone"); if (ppdTimeZone != null) { ProfileController.DeletePropertyDefinition(ppdTimeZone); } var adminTab = tabController.GetTab(portal.AdminTabId, portal.PortalID, false); adminTab.IsVisible = false; tabController.UpdateTab(adminTab); foreach (var module in moduleController.GetTabModules(portal.AdminTabId).Values) { moduleController.UpdateTabModuleSetting(module.TabModuleID, "hideadminborder", "true"); } } //Ensure that Display Beta Notice setting is present var displayBetaNotice = Host.DisplayBetaNotice; HostController.Instance.Update("DisplayBetaNotice", displayBetaNotice ? "Y": "N"); moduleDefId = GetModuleDefinition("Languages", "Languages"); AddModuleControl(moduleDefId, "EnableContent", "Enable Localized Content", "DesktopModules/Admin/Languages/EnableLocalizedContent.ascx", "", SecurityAccessLevel.Host, 0, null, false); AddProfessionalPreviewPages(); AddDefaultModuleIcons(); AddIconToAllowedFiles(); FavIconsToPortalSettings(); var tab = tabController.GetTabByName("Host", Null.NullInteger, Null.NullInteger); if (tab != null) { RemoveModule("Extensions", "Module Definitions", tab.TabID, true); RemoveModule("Marketplace", "Marketplace", tab.TabID, true); } }
private static void UpgradeToVersion530() { //update languages module int 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 var listController = new ListController(); Dictionary<string, ListEntryInfo> dataTypes = listController.GetListEntryInfoDictionary("DataType"); var properties = ProfileController.GetPropertyDefinitionsByPortal(Null.NullInteger); ProfileController.AddDefaultDefinition(Null.NullInteger, "Preferences", "Photo", "Image", 0, properties.Count*2 + 2, UserVisibilityMode.AllUsers, dataTypes); string installTemplateFile = string.Format("{0}Template\\UserProfile.page.template", Globals.InstallMapPath); string hostTemplateFile = string.Format("{0}Templates\\UserProfile.page.template", Globals.HostMapPath); if (File.Exists(installTemplateFile)) { if (!File.Exists(hostTemplateFile)) { File.Copy(installTemplateFile, hostTemplateFile); } } if (File.Exists(hostTemplateFile)) { var tabController = new TabController(); var portalController = new PortalController(); ArrayList portals = portalController.GetPortals(); foreach (PortalInfo portal in portals) { properties = ProfileController.GetPropertyDefinitionsByPortal(portal.PortalID); //Add new Photo Profile field to Portal ProfileController.AddDefaultDefinition(portal.PortalID, "Preferences", "Photo", "Image", 0, properties.Count*2 + 2, UserVisibilityMode.AllUsers, dataTypes); //Rename old Default Page template string defaultPageTemplatePath = string.Format("{0}Templates\\Default.page.template", portal.HomeDirectoryMapPath); if (File.Exists(defaultPageTemplatePath)) { File.Move(defaultPageTemplatePath, String.Format("{0}Templates\\Default_old.page.template", portal.HomeDirectoryMapPath)); } //Update Default profile template in every portal portalController.CopyPageTemplate("Default.page.template", portal.HomeDirectoryMapPath); //Add User profile template to every portal portalController.CopyPageTemplate("UserProfile.page.template", portal.HomeDirectoryMapPath); //Synchronize the Templates folder to ensure the templates are accessible FolderManager.Instance.Synchronize(portal.PortalID, "Templates/", false, true); var xmlDoc = new XmlDocument(); try { // open the XML file xmlDoc.Load(hostTemplateFile); } catch (Exception ex) { Exceptions.Exceptions.LogException(ex); } XmlNode userTabNode = xmlDoc.SelectSingleNode("//portal/tabs/tab"); if (userTabNode != null) { string tabName = XmlUtils.GetNodeValue(userTabNode.CreateNavigator(), "name"); var userTab = tabController.GetTabByName(tabName, portal.PortalID) ?? TabController.DeserializeTab(userTabNode, null, portal.PortalID, PortalTemplateModuleAction.Merge); //Update SiteSettings to point to the new page if (portal.UserTabId > Null.NullInteger) { portal.RegisterTabId = portal.UserTabId; } else { portal.UserTabId = userTab.TabID; } } portalController.UpdatePortalInfo(portal); //Add Users folder to every portal string usersFolder = string.Format("{0}Users\\", portal.HomeDirectoryMapPath); if (!Directory.Exists(usersFolder)) { //Create Users folder Directory.CreateDirectory(usersFolder); //Synchronize the Users folder to ensure the user folder is accessible FolderManager.Instance.Synchronize(portal.PortalID, "Users/", false, true); } } } AddEventQueueApplicationStartFirstRequest(); //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.png", SecurityAccessLevel.Host, 0); //Module was incorrectly assigned as "IsPremium=False" RemoveModuleFromPortals("Users And Roles"); }
private static void UpgradeToVersion510() { var portalController = new PortalController(); var tabController = new TabController(); var moduleController = new ModuleController(); int moduleDefId; //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.png", SecurityAccessLevel.View, 0); AddModuleControl(moduleDefId, "Edit", "Edit Feature", "DesktopModules/Admin/Extensions/EditExtension.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Edit, 0); AddModuleControl(moduleDefId, "PackageWriter", "Package Writer", "DesktopModules/Admin/Extensions/PackageWriter.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "EditControl", "Edit Control", "DesktopModules/Admin/Extensions/Editors/EditModuleControl.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "ImportModuleDefinition", "Import Module Definition", "DesktopModules/Admin/Extensions/Editors/ImportModuleDefinition.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "BatchInstall", "Batch Install", "DesktopModules/Admin/Extensions/BatchInstall.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "NewExtension", "New Extension Wizard", "DesktopModules/Admin/Extensions/ExtensionWizard.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "UsageDetails", "Usage Information", "DesktopModules/Admin/Extensions/UsageDetails.ascx", "~/images/icon_extensions_32px.png", 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.png", 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 = tabController.GetTabByName("Module Definitions", Null.NullInteger); //Add Module To Page if not present int moduleId = AddModuleToPage(definitionsPage, moduleDefId, "Module Definitions", "~/images/icon_moduledefinitions_32px.gif"); moduleController.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.png", true); moduleId = AddModuleToPage(extensionsPage, moduleDefId, "Extensions", "~/images/icon_extensions_32px.png"); moduleController.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.png", true, moduleDefId, "Extensions", "~/images/icon_extensions_32px.png"); //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", Null.NullString); TabInfo tab; //add console settings for host page if ((tabId != Null.NullInteger)) { tab = tabController.GetTab(tabId, Null.NullInteger, true); if (((tab != null))) { AddConsoleModuleSettings(moduleId); } } //add module to all admin pages foreach (PortalInfo portal in portalController.GetPortals()) { tabId = TabController.GetTabByTabPath(portal.PortalID, "//Admin", Null.NullString); if ((tabId != Null.NullInteger)) { tab = tabController.GetTab(tabId, portal.PortalID, true); if (((tab != null))) { moduleId = AddModuleToPage(tab, moduleDefId, "Basic Features", "", true); AddConsoleModuleSettings(moduleId); } } } //Add Google Analytics module moduleDefId = AddModuleDefinition("Google Analytics", "Configure Site Google Analytics settings.", "GoogleAnalytics", false, false); AddModuleControl(moduleDefId, "", "Google Analytics", "DesktopModules/Admin/Analytics/GoogleAnalyticsSettings.ascx", "", SecurityAccessLevel.Admin, 0); AddAdminPages("Google Analytics", "Configure Site Google Analytics settings.", "~/images/icon_analytics_16px.gif", "~/images/icon_analytics_32px.gif", true, moduleDefId, "Google Analytics", "~/images/icon_analytics_32px.gif"); }
public void AdvancedUrlRewriter_SecureRedirect(Dictionary<string, string> testFields) { var settings = UrlTestFactoryClass.GetSettings("UrlRewrite", testFields["TestName"]); var isClient = Convert.ToBoolean(testFields["Client"]); _securePageName = testFields["Page Name"].Trim(); PortalController.UpdatePortalSetting(PortalId, "SSLEnforced", testFields["Enforced"].Trim()); PortalController.UpdatePortalSetting(PortalId, "SSLEnabled", testFields["Enabled"].Trim()); var isSecure = Convert.ToBoolean(testFields["IsSecure"].Trim()); if (isSecure) { var tc = new TabController(); var tab = tc.GetTabByName(_securePageName, PortalId); tab.IsSecure = true; UpdateTab(tab); } settings.SSLClientRedirect = isClient; ExecuteTest(settings, testFields, true); }
/// ----------------------------------------------------------------------------- /// <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="description">Description.</param> /// <param name="tabIconFile">The Icon for this new Tab</param> /// <param name="tabIconFileLarge">The large 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, TabPermissionCollection permissions, bool isAdmin) { DnnInstallLogger.InstallLogInfo(Localization.Localization.GetString("LogStart", Localization.Localization.GlobalResourceFile) + "AddPage:" + tabName); var tabController = new TabController(); TabInfo tab = tabController.GetTabByName(tabName, portalId, parentId); if (tab == null || tab.ParentId != parentId) { tab = new TabInfo { TabID = Null.NullInteger, PortalID = portalId, TabName = tabName, Title = "", Description = description, KeyWords = "", IsVisible = isVisible, DisableLink = false, ParentId = parentId, IconFile = tabIconFile, IconFileLarge = tabIconFileLarge, IsDeleted = false }; tab.TabID = tabController.AddTab(tab, !isAdmin); if (((permissions != null))) { foreach (TabPermissionInfo tabPermission in permissions) { tab.TabPermissions.Add(tabPermission, true); } TabPermissionController.SaveTabPermissions(tab); } } return tab; }
/// ----------------------------------------------------------------------------- /// <summary> /// /// </summary> /// <remarks> /// - Obtain PortalSettings from Current Context /// - redirect to a specific tab based on name /// - if first time loading this page then reload to avoid caching /// - set page title and stylesheet /// - check to see if we should show the Assembly Version in Page Title /// - set the background image if there is one selected /// - set META tags, copyright, keywords and description /// </remarks> /// <history> /// [sun1] 1/19/2004 Created /// </history> /// ----------------------------------------------------------------------------- private void InitializePage() { var tabController = new TabController(); //redirect to a specific tab based on name if (!String.IsNullOrEmpty(Request.QueryString["tabname"])) { TabInfo tab = tabController.GetTabByName(Request.QueryString["TabName"], ((PortalSettings)HttpContext.Current.Items["PortalSettings"]).PortalId); if (tab != null) { var parameters = new List<string>(); //maximum number of elements for (int intParam = 0; intParam <= Request.QueryString.Count - 1; intParam++) { switch (Request.QueryString.Keys[intParam].ToLower()) { case "tabid": case "tabname": break; default: parameters.Add( Request.QueryString.Keys[intParam] + "=" + Request.QueryString[intParam]); break; } } Response.Redirect(Globals.NavigateURL(tab.TabID, Null.NullString, parameters.ToArray()), true); } else { //404 Error - Redirect to ErrorPage Exceptions.ProcessHttpException(Request); } } if (Request.IsAuthenticated) { switch (Host.AuthenticatedCacheability) { case "0": Response.Cache.SetCacheability(HttpCacheability.NoCache); break; case "1": Response.Cache.SetCacheability(HttpCacheability.Private); break; case "2": Response.Cache.SetCacheability(HttpCacheability.Public); break; case "3": Response.Cache.SetCacheability(HttpCacheability.Server); break; case "4": Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache); break; case "5": Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate); break; } } //page comment if (Host.DisplayCopyright) { Comment += string.Concat(Environment.NewLine, "<!--************************************************************************************-->", Environment.NewLine, "<!-- DNN Platform - http://www.dnnsoftware.com -->", Environment.NewLine, "<!-- Copyright (c) 2002-2013 -->", Environment.NewLine, "<!-- by DNN Corporation -->", Environment.NewLine, "<!--**********************************************************************************-->", Environment.NewLine); } Page.Header.Controls.AddAt(0, new LiteralControl(Comment)); if (PortalSettings.ActiveTab.PageHeadText != Null.NullString && !Globals.IsAdminControl()) { Page.Header.Controls.Add(new LiteralControl(PortalSettings.ActiveTab.PageHeadText)); } //set page title string strTitle = PortalSettings.PortalName; if (IsPopUp) { var slaveModule = UIUtilities.GetSlaveModule(PortalSettings.ActiveTab.TabID); //Skip is popup is just a tab (no slave module) if (slaveModule.DesktopModuleID != Null.NullInteger) { var control = ModuleControlFactory.CreateModuleControl(slaveModule) as IModuleControl; control.LocalResourceFile = slaveModule.ModuleControl.ControlSrc.Replace(Path.GetFileName(slaveModule.ModuleControl.ControlSrc), "") + Localization.LocalResourceDirectory + "/" + Path.GetFileName(slaveModule.ModuleControl.ControlSrc); var title = Localization.LocalizeControlTitle(control); strTitle += string.Concat(" > ", PortalSettings.ActiveTab.LocalizedTabName); strTitle += string.Concat(" > ", title); } else { strTitle += string.Concat(" > ", PortalSettings.ActiveTab.LocalizedTabName); } } else { foreach (TabInfo tab in PortalSettings.ActiveTab.BreadCrumbs) { strTitle += string.Concat(" > ", tab.TabName); } //tab title override if (!string.IsNullOrEmpty(PortalSettings.ActiveTab.Title)) { strTitle = PortalSettings.ActiveTab.Title; } } Title = strTitle; //set the background image if there is one selected if (!IsPopUp && FindControl("Body") != null) { if (!string.IsNullOrEmpty(PortalSettings.BackgroundFile)) { var fileInfo = GetBackgroundFileInfo(); var url = FileManager.Instance.GetUrl(fileInfo); ((HtmlGenericControl)FindControl("Body")).Attributes["style"] = string.Concat("background-image: url('", url, "')"); } } //META Refresh if (PortalSettings.ActiveTab.RefreshInterval > 0 && Request.QueryString["ctl"] == null) { MetaRefresh.Content = PortalSettings.ActiveTab.RefreshInterval.ToString(); } else { MetaRefresh.Visible = false; } //META description if (!string.IsNullOrEmpty(PortalSettings.ActiveTab.Description)) { Description = PortalSettings.ActiveTab.Description; } else { Description = PortalSettings.Description; } //META keywords if (!string.IsNullOrEmpty(PortalSettings.ActiveTab.KeyWords)) { KeyWords = PortalSettings.ActiveTab.KeyWords; } else { KeyWords = PortalSettings.KeyWords; } if (Host.DisplayCopyright) { KeyWords += ",DotNetNuke,DNN"; } //META copyright if (!string.IsNullOrEmpty(PortalSettings.FooterText)) { Copyright = PortalSettings.FooterText.Replace("[year]", DateTime.Now.Year.ToString()); } else { Copyright = string.Concat("Copyright (c) ", DateTime.Now.Year, " by ", PortalSettings.PortalName); } //META generator if (Host.DisplayCopyright) { Generator = "DotNetNuke "; } else { Generator = ""; } //META Robots var allowIndex = true; if ((PortalSettings.ActiveTab.TabSettings.ContainsKey("AllowIndex") && bool.TryParse(PortalSettings.ActiveTab.TabSettings["AllowIndex"].ToString(), out allowIndex) && !allowIndex) || (Request.QueryString["ctl"] != null && (Request.QueryString["ctl"] == "Login" || Request.QueryString["ctl"] == "Register"))) { MetaRobots.Content = "NOINDEX, NOFOLLOW"; } else { MetaRobots.Content = "INDEX, FOLLOW"; } //NonProduction Label Injection if (NonProductionVersion() && Host.DisplayBetaNotice && !IsPopUp) { string versionString = string.Format(" ({0} Version: {1})", DotNetNukeContext.Current.Application.Status, DotNetNukeContext.Current.Application.Version); Title += versionString; } //register DNN SkinWidgets Inititialization scripts if (PortalSettings.EnableSkinWidgets) { jQuery.RequestRegistration(); // don't use the new API to register widgets until we better understand their asynchronous script loading requirements. ClientAPI.RegisterStartUpScript(Page, "initWidgets", string.Format("<script type=\"text/javascript\" src=\"{0}\" ></script>", ResolveUrl("~/Resources/Shared/scripts/initWidgets.js"))); } //register the custom stylesheet of current page if (PortalSettings.ActiveTab.TabSettings.ContainsKey("CustomStylesheet") && !string.IsNullOrEmpty(PortalSettings.ActiveTab.TabSettings["CustomStylesheet"].ToString())) { var customStylesheet = Path.Combine(PortalSettings.HomeDirectory, PortalSettings.ActiveTab.TabSettings["CustomStylesheet"].ToString()); ClientResourceManager.RegisterStyleSheet(this, customStylesheet); } }
public static void RemoveHostPage(string pageName) { DnnInstallLogger.InstallLogInfo(Localization.Localization.GetString("LogStart", Localization.Localization.GlobalResourceFile) + "RemoveHostPage:" + pageName); var controller = new TabController(); TabInfo skinsTab = controller.GetTabByName(pageName, Null.NullInteger); if (skinsTab != null) { controller.DeleteTab(skinsTab.TabID, Null.NullInteger); } }
private static void UpgradeToVersion610() { AddModuleCategories(); //update languages module int moduleDefId = GetModuleDefinition("Languages", "Languages"); AddModuleControl(moduleDefId, "LocalizePages", "Localize Pages", "DesktopModules/Admin/Languages/LocalizePages.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0, Null.NullString, true); //add store control moduleDefId = AddModuleDefinition("Extensions", "", "Extensions"); AddModuleControl(moduleDefId, "Store", "Store Details", "DesktopModules/Admin/Extensions/Store.ascx", "~/images/icon_extensions_32px.png", SecurityAccessLevel.Host, 0); EnableModalPopUps(); var tabController = new TabController(); var tab = tabController.GetTabByName("Portals", Null.NullInteger); tab.TabName = "Site Management"; tabController.UpdateTab(tab); var moduleController = new ModuleController(); foreach (var module in moduleController.GetTabModules(tab.TabID).Values) { if (module.ModuleTitle == "Portals") { module.ModuleTitle = "Site Management"; moduleController.UpdateModule(module); } } //Add List module to Admin page of every portal ModuleDefinitionInfo mDef = ModuleDefinitionController.GetModuleDefinitionByFriendlyName("Lists"); if (mDef != null) { AddAdminPages("Lists", "Manage common lists", "~/Icons/Sigma/Lists_16X16_Standard.png", "~/Icons/Sigma/Lists_32X32_Standard.png", true, mDef.ModuleDefID, "Lists", "~/Icons/Sigma/Lists_16X16_Standard.png", true); } //update DotNetNuke.Portals' friend name to 'Sites'. var portalPackage = PackageController.GetPackageByName("DotNetNuke.Portals"); if(portalPackage != null) { portalPackage.FriendlyName = "Sites"; PackageController.SavePackage(portalPackage); } //add mobile preview control AddModuleControl(Null.NullInteger, "MobilePreview", "Mobile Preview", "DesktopModules/Admin/MobilePreview/Preview.ascx", string.Empty, SecurityAccessLevel.Admin, Null.NullInteger); }
/// <summary> /// Returns a tab id from either a raw tabId, or a list of tab names delimited by ';' /// </summary> /// <param name="tabIdsRaw"></param> /// <param name="tabNames"></param> /// <param name="portalId"></param> /// <param name="messages"></param> /// <returns></returns> internal static List<int> TabIdsFromAttributes(string tabIdsRaw, string tabNames, int portalId, ref List<string> messages) { if (messages == null) { messages = new List<string>(); } var tabIds = new List<int>(); if (!string.IsNullOrEmpty(tabIdsRaw)) { string[] rawTabids = tabIdsRaw.Split(';'); foreach (string rawTabId in rawTabids) { int tabId; if (Int32.TryParse(rawTabId, out tabId)) { tabIds.Add(tabId); } } } if (tabNames != null) { //get the portal by name if (tabNames == "All") { tabIds.Add(-1); } else { var tc = new TabController(); //loop through all specified tab names foreach (string tabName in tabNames.Split(';')) { if (String.Compare(tabName, "default.aspx", StringComparison.OrdinalIgnoreCase) == 0) { //default.aspx is marked with a -2 tabid tabIds.Add(-2); } else { //593 : add in site root rewriting processing if (tabName == "/") { //site root marked with a -3 tabid tabIds.Add(-3); } else { //portal id specified : specific portal TabInfo tab = tc.GetTabByName(tabName, portalId); if (tab != null) { tabIds.Add(tab.TabID); } else { messages.Add("TabName " + tabName + " not found for portalId " + portalId.ToString()); } } } } } } return tabIds; }
protected void Page_Init( object sender, EventArgs e ) { foreach( DataGridColumn column in grdPortals.Columns ) { if( column.GetType() == typeof( ImageCommandColumn ) ) { //Manage Delete Confirm JS ImageCommandColumn imageColumn = (ImageCommandColumn)column; if( imageColumn.CommandName == "Delete" ) { imageColumn.OnClickJS = Localization.GetString( "DeleteItem" ); } //Manage Edit Column NavigateURLFormatString if( imageColumn.CommandName == "Edit" ) { //The Friendly URL parser does not like non-alphanumeric characters //so first create the format string with a dummy value and then //replace the dummy value with the FormatString place holder TabController objTabs = new TabController(); TabInfo objTab = objTabs.GetTabByName( "Site Settings", PortalSettings.PortalId, PortalSettings.AdminTabId ); string formatString = Globals.NavigateURL( objTab.TabID, "", "pid=KEYFIELD" ); formatString = formatString.Replace( "KEYFIELD", "{0}" ); imageColumn.NavigateURLFormatString = formatString; } //Localize Image Column Text if( imageColumn.CommandName != "" ) { imageColumn.Text = Localization.GetString( imageColumn.CommandName, LocalResourceFile ); } } } }
///----------------------------------------------------------------------------- ///<summary> /// AddHostPage adds a Host Tab Page ///</summary> ///<param name = "tabName">The Name to give this new Tab</param> ///<param name="description"></param> ///<param name = "tabIconFile">The Icon for this new Tab</param> ///<param name="tabIconFileLarge"></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) { DnnInstallLogger.InstallLogInfo(Localization.Localization.GetString("LogStart", Localization.Localization.GlobalResourceFile) + "AddHostPage:" + tabName); var tabController = new TabController(); TabInfo hostPage = tabController.GetTabByName("Host", Null.NullInteger); if ((hostPage != null)) { return AddPage(hostPage, tabName, description, tabIconFile, tabIconFileLarge, isVisible, new TabPermissionCollection(), true); } return null; }