//this has an overload of whether or not to create a cloned module private void DoAddExistingModule(int moduleId, int tabId, string paneName, int position, string align, bool cloneModule) { var moduleCtrl = new ModuleController(); ModuleInfo moduleInfo = moduleCtrl.GetModule(moduleId, tabId, false); int userID = -1; if (Request.IsAuthenticated) { UserInfo user = UserController.GetCurrentUserInfo(); if (((user != null))) { userID = user.UserID; } } if ((moduleInfo != null)) { // clone the module object ( to avoid creating an object reference to the data cache ) ModuleInfo newModule = moduleInfo.Clone(); newModule.UniqueId = Guid.NewGuid(); // Cloned Module requires a different uniqueID newModule.TabID = PortalSettings.Current.ActiveTab.TabID; newModule.ModuleOrder = position; newModule.PaneName = paneName; newModule.Alignment = align; if ((cloneModule)) { newModule.ModuleID = Null.NullInteger; //reset the module id newModule.ModuleID = moduleCtrl.AddModule(newModule); if (!string.IsNullOrEmpty(newModule.DesktopModule.BusinessControllerClass)) { object objObject = Reflection.CreateObject(newModule.DesktopModule.BusinessControllerClass, newModule.DesktopModule.BusinessControllerClass); if (objObject is IPortable) { string content = Convert.ToString(((IPortable)objObject).ExportModule(moduleId)); if (!string.IsNullOrEmpty(content)) { ((IPortable)objObject).ImportModule(newModule.ModuleID, content, newModule.DesktopModule.Version, userID); } } } } else { moduleCtrl.AddModule(newModule); } //Add Event Log var objEventLog = new EventLogController(); objEventLog.AddLog(newModule, PortalSettings.Current, userID, "", EventLogController.EventLogType.MODULE_CREATED); } }
/// <summary> /// Adds the referenced module to page. /// </summary> /// <param name="moduleToCopy">The module to copy.</param> /// <param name="destinationTabID">The destination tab ID.</param> private static void AddReferencedModuleToPage(ModuleInfo moduleToCopy, int destinationTabID) { // duplicate the module and assign it the new page ModuleInfo newModule = moduleToCopy.Clone(); newModule.TabID = destinationTabID; // add it to the system - this takes care of adding the // module and the tab module newModule.ModuleID = new ModuleController().AddModule(newModule); }
public object Clone() { return(new RoleModuleRel { Id = Id, RoleId = RoleId, ModuleId = ModuleId, ModuleInfo = ModuleInfo == null ? null : ModuleInfo.Clone() as SystemModule, StartTime = StartTime, ExpireTime = ExpireTime, CreateTime = CreateTime, CreatedBy = CreatedBy, LastUpdateTime = LastUpdateTime, LastUpdatedBy = LastUpdatedBy }); }
internal static ModuleInfo GetSlaveModule(int moduleId, string key, int tabId) { HttpRequest request = HttpContext.Current.Request; var moduleController = new ModuleController(); ModuleInfo slaveModule = null; if (moduleId != -1) { ModuleInfo module = moduleController.GetModule(moduleId, tabId, false); if (module != null) { slaveModule = module.Clone(); } } if (slaveModule == null) { slaveModule = (new ModuleInfo { ModuleID = moduleId, ModuleDefID = -1, TabID = tabId, InheritViewPermissions = true }); } if (request.QueryString["moduleid"] != null && (key.ToLower() == "module" || key.ToLower() == "help")) { slaveModule.ModuleDefID = -1; } if (request.QueryString["dnnprintmode"] != "true") { slaveModule.ModuleTitle = ""; } slaveModule.Header = ""; slaveModule.Footer = ""; slaveModule.StartDate = DateTime.MinValue; slaveModule.EndDate = DateTime.MaxValue; slaveModule.Visibility = VisibilityState.None; slaveModule.Color = ""; slaveModule.Border = ""; slaveModule.DisplayTitle = true; slaveModule.DisplayPrint = false; slaveModule.DisplaySyndicate = false; return(slaveModule); }
/// <summary> /// Copies the module to page. /// </summary> /// <param name="moduleToCopy">The module to copy.</param> /// <param name="destinationTabID">The destination tab ID.</param> private static void CopyModuleToPage(ModuleInfo moduleToCopy, int destinationTabID) { var moduleController = new ModuleController(); // duplicate the module and assign it the new page ModuleInfo newModule = moduleToCopy.Clone(); newModule.ModuleID = -1; newModule.TabID = destinationTabID; // add it to the system - this takes care of adding the // module and the tab module newModule.ModuleID = moduleController.AddModule(newModule); // duplicate the settings for the module DuplicateModuleSettings(moduleToCopy, newModule.ModuleID); // duplicate the settings for the tabmodule moduleController.CopyTabModuleSettings(moduleToCopy, newModule); }
private void CloneOrDeleteTabModules(List <int> tabslist, ModuleController objmodules, TabController objTabs, int ftabId, int fmoduleId, StringBuilder actionBuilder) { foreach (RadTreeNode n in ctlPages.GetAllNodes()) { // if this is the root node, don't make action int nval = Convert.ToInt32(n.Value); if (nval > 0) { //Check if checked has changed int ttabId = Convert.ToInt32(n.Value); string pname = n.Text; //The value in DB bool dbcheck = getbchk(tabslist, ttabId); //The value in the Tree bool nodecheck = n.Checked; //if changed Add or Delete the clone if (dbcheck != nodecheck) { //Add case if (!dbcheck && nodecheck) { #region OLD CODE COMMENTED V1 //We have a new localiezd version GUID when use the CopyModule(as Display On All Pages) V1 //(bug with new localized GUID instead of copy original one like Add existing Module (clone) from new dashboard // BUG ? in DNN Platform\Library\Entities\Modules\ModuleController.cs l // l1022 destinationModule.LocalizedVersionGuid = Guid.NewGuid(); //Add V1 (use CopyModule) //ModuleInfo fmi = objmodules.GetModule(fmoduleId, ftabId); //ModuleInfo tmi = objmodules.GetModule(fmoduleId, ttabId); //TabInfo tti = objTabs.GetTab(ttabId, PortalId, true); ////Does detination module exist ? ////NO //if (tmi == null) //{ // objmodules.CopyModule(fmi, tti, "", Convert.ToBoolean(rbSettings.SelectedValue)); // Action += "Clone Module " + fmoduleId + " on the page : " + pname + "(" + ttabId + ") <br />"; //} //else //{ // if (tmi.IsDeleted) // { // objmodules.RestoreModule(tmi); // Action += "Restore Module " + fmoduleId + " on the page : " + pname + "(" + ttabId + ") <br />"; // } //} //end V1 #endregion //V2 (inspired from ControlBarController.cs DoAddExistingModule line 589) ModuleInfo fmi = objmodules.GetModule(fmoduleId, ftabId); ModuleInfo newModule = fmi.Clone(); newModule.UniqueId = Guid.NewGuid(); // Cloned Module requires a different uniqueID newModule.TabID = ttabId; objmodules.AddModule(newModule); actionBuilder.AppendFormat("<div class=\"logLine addModule\">Clone or restore Module {0} ({1}) on the page : {2} ({3}) </div>", newModule.ModuleTitle, fmoduleId, pname, ttabId); //Add Event Log //var objEventLog = new EventLogController(); //objEventLog.AddLog(newModule, PortalSettings.Current, userID, "", EventLogController.EventLogType.MODULE_CREATED); } //Delete case if (dbcheck && !nodecheck) { //Delete bool softDelete = Convert.ToBoolean(rbDelete.SelectedValue); TabInfo ti = objTabs.GetTab(ttabId, PortalId, true); ModuleInfo mi = objmodules.GetModule(fmoduleId, ttabId); objmodules.DeleteTabModule(ttabId, fmoduleId, softDelete); actionBuilder.AppendFormat("<div class=\"logLine delModule\">{0} Module {1} ({2}) of the page : {3} ({4}) </div>", (softDelete ? "Send to recycle bin":"Delete"), mi.ModuleTitle, fmoduleId, pname, ttabId); } } } } // Response.Redirect(Request.RawUrl); actionBuilder.Append("</div>"); }
private void DoAddExistingModule(int moduleId, int tabId, string paneName, int position, string align, bool cloneModule) { ModuleInfo moduleInfo = ModuleController.Instance.GetModule(moduleId, tabId, false); int userID = -1; if (this.Request.IsAuthenticated) { UserInfo user = UserController.Instance.GetCurrentUserInfo(); if (user != null) { userID = user.UserID; } } if (moduleInfo != null) { // Is this from a site other than our own? (i.e., is the user requesting "module sharing"?) var remote = moduleInfo.PortalID != PortalSettings.Current.PortalId; if (remote) { switch (moduleInfo.DesktopModule.Shareable) { case ModuleSharing.Unsupported: // Should never happen since the module should not be listed in the first place. throw new ApplicationException(string.Format( "Module '{0}' does not support Shareable and should not be listed in Add Existing Module from a different source site", moduleInfo.DesktopModule.FriendlyName)); case ModuleSharing.Supported: break; default: case ModuleSharing.Unknown: break; } } // clone the module object ( to avoid creating an object reference to the data cache ) ModuleInfo newModule = moduleInfo.Clone(); newModule.UniqueId = Guid.NewGuid(); // Cloned Module requires a different uniqueID newModule.TabModuleID = Null.NullInteger; newModule.TabID = PortalSettings.Current.ActiveTab.TabID; newModule.ModuleOrder = position; newModule.PaneName = paneName; newModule.Alignment = align; if (cloneModule) { newModule.ModuleID = Null.NullInteger; // copy module settings and tab module settings newModule.ModuleSettings.Clear(); foreach (var key in moduleInfo.ModuleSettings.Keys) { newModule.ModuleSettings.Add(key, moduleInfo.ModuleSettings[key]); } newModule.TabModuleSettings.Clear(); foreach (var key in moduleInfo.TabModuleSettings.Keys) { newModule.TabModuleSettings.Add(key, moduleInfo.TabModuleSettings[key]); } // reset the module id newModule.ModuleID = ModuleController.Instance.AddModule(newModule); if (!string.IsNullOrEmpty(newModule.DesktopModule.BusinessControllerClass)) { object objObject = Reflection.CreateObject(newModule.DesktopModule.BusinessControllerClass, newModule.DesktopModule.BusinessControllerClass); if (objObject is IPortable) { try { SetCloneModuleContext(true); string content = Convert.ToString(((IPortable)objObject).ExportModule(moduleId)); if (!string.IsNullOrEmpty(content)) { ((IPortable)objObject).ImportModule(newModule.ModuleID, content, newModule.DesktopModule.Version, userID); } } finally { SetCloneModuleContext(false); } } } } else { // copy tab module settings newModule.TabModuleSettings.Clear(); foreach (var key in moduleInfo.TabModuleSettings.Keys) { newModule.TabModuleSettings.Add(key, moduleInfo.TabModuleSettings[key]); } ModuleController.Instance.AddModule(newModule); } if (remote) { // Ensure the Portal Admin has View rights var permissionController = new PermissionController(); ArrayList arrSystemModuleViewPermissions = permissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", "VIEW"); AddModulePermission( newModule, (PermissionInfo)arrSystemModuleViewPermissions[0], PortalSettings.Current.AdministratorRoleId, Null.NullInteger, true); // Set PortalID correctly newModule.OwnerPortalID = newModule.PortalID; newModule.PortalID = PortalSettings.Current.PortalId; ModulePermissionController.SaveModulePermissions(newModule); } // Add Event Log EventLogController.Instance.AddLog(newModule, PortalSettings.Current, userID, string.Empty, EventLogController.EventLogType.MODULE_CREATED); } }
private int DoAddExistingModule(int moduleId, int tabId, string paneName, int position, string align, bool cloneModule) { ModuleInfo moduleInfo = ModuleController.Instance.GetModule(moduleId, tabId, false); int userID = -1; UserInfo user = UserController.Instance.GetCurrentUserInfo(); if (user != null) { userID = user.UserID; } if ((moduleInfo != null)) { // Is this from a site other than our own? (i.e., is the user requesting "module sharing"?) var remote = moduleInfo.PortalID != PortalSettings.Current.PortalId; if (remote) { switch (moduleInfo.DesktopModule.Shareable) { case ModuleSharing.Unsupported: // Should never happen since the module should not be listed in the first place. throw new ApplicationException(string.Format("Module '{0}' does not support Shareable and should not be listed in Add Existing Module from a different source site", moduleInfo.DesktopModule.FriendlyName)); case ModuleSharing.Supported: break; case ModuleSharing.Unknown: break; } } // clone the module object ( to avoid creating an object reference to the data cache ) ModuleInfo newModule = moduleInfo.Clone(); newModule.UniqueId = Guid.NewGuid(); // Cloned Module requires a different uniqueID newModule.TabID = PortalSettings.Current.ActiveTab.TabID; newModule.ModuleOrder = position; newModule.PaneName = paneName; newModule.Alignment = align; if ((cloneModule)) { newModule.ModuleID = Null.NullInteger; //reset the module id newModule.ModuleID = ModuleController.Instance.AddModule(newModule); if (!string.IsNullOrEmpty(newModule.DesktopModule.BusinessControllerClass)) { object objObject = DotNetNuke.Framework.Reflection.CreateObject(newModule.DesktopModule.BusinessControllerClass, newModule.DesktopModule.BusinessControllerClass); if (objObject is IPortable) { string content = Convert.ToString(((IPortable)objObject).ExportModule(moduleId)); if (!string.IsNullOrEmpty(content)) { ((IPortable)objObject).ImportModule(newModule.ModuleID, content, newModule.DesktopModule.Version, userID); } } } } else { ModuleController.Instance.AddModule(newModule); } //if the tab of original module has custom stylesheet defined, then also copy the stylesheet //to the destination tab if its custom stylesheet is empty. var originalTab = TabController.Instance.GetTab(moduleInfo.TabID, moduleInfo.PortalID); var targetTab = PortalSettings.Current.ActiveTab; if (originalTab != null && originalTab.TabSettings.ContainsKey("CustomStylesheet") && !string.IsNullOrEmpty(originalTab.TabSettings["CustomStylesheet"].ToString()) && (!targetTab.TabSettings.ContainsKey("CustomStylesheet") || string.IsNullOrEmpty(targetTab.TabSettings["CustomStylesheet"].ToString()))) { TabController.Instance.UpdateTabSetting(targetTab.TabID, "CustomStylesheet", originalTab.TabSettings["CustomStylesheet"].ToString()); } if (remote) { //Ensure the Portal Admin has View rights var permissionController = new PermissionController(); ArrayList arrSystemModuleViewPermissions = permissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", "VIEW"); AddModulePermission(newModule, (PermissionInfo)arrSystemModuleViewPermissions[0], PortalSettings.Current.AdministratorRoleId, Null.NullInteger, true); //Set PortalID correctly newModule.OwnerPortalID = newModule.PortalID; newModule.PortalID = PortalSettings.Current.PortalId; ModulePermissionController.SaveModulePermissions(newModule); } //Add Event Log EventLogController.Instance.AddLog(newModule, PortalSettings.Current, userID, "", EventLogController.EventLogType.MODULE_CREATED); return(newModule.ModuleID); } return(-1); }
/// <summary> /// The GetPortalSettings method builds the site Settings /// </summary> /// <remarks> /// </remarks> /// <param name="TabId">The current tabs id</param> /// <param name="objPortalAliasInfo">The Portal Alias object</param> private void GetPortalSettings(int TabId, PortalAliasInfo objPortalAliasInfo) { PortalController objPortals = new PortalController(); PortalInfo objPortal = null; TabController objTabs = new TabController(); ModuleController objModules = new ModuleController(); ModuleInfo objModule = null; SkinInfo objSkin = null; PortalId = objPortalAliasInfo.PortalID; // get portal settings objPortal = objPortals.GetPortal(PortalId); if (objPortal != null) { this.PortalAlias = objPortalAliasInfo; this.PortalId = objPortal.PortalID; this.PortalName = objPortal.PortalName; this.LogoFile = objPortal.LogoFile; this.FooterText = objPortal.FooterText; this.ExpiryDate = objPortal.ExpiryDate; this.UserRegistration = objPortal.UserRegistration; this.BannerAdvertising = objPortal.BannerAdvertising; this.Currency = objPortal.Currency; this.AdministratorId = objPortal.AdministratorId; this.Email = objPortal.Email; this.HostFee = objPortal.HostFee; this.HostSpace = objPortal.HostSpace; this.PageQuota = objPortal.PageQuota; this.UserQuota = objPortal.UserQuota; this.AdministratorRoleId = objPortal.AdministratorRoleId; this.AdministratorRoleName = objPortal.AdministratorRoleName; this.RegisteredRoleId = objPortal.RegisteredRoleId; this.RegisteredRoleName = objPortal.RegisteredRoleName; this.Description = objPortal.Description; this.KeyWords = objPortal.KeyWords; this.BackgroundFile = objPortal.BackgroundFile; this.GUID = objPortal.GUID; this.SiteLogHistory = objPortal.SiteLogHistory; this.AdminTabId = objPortal.AdminTabId; this.SuperTabId = objPortal.SuperTabId; this.SplashTabId = objPortal.SplashTabId; this.HomeTabId = objPortal.HomeTabId; this.LoginTabId = objPortal.LoginTabId; this.UserTabId = objPortal.UserTabId; this.DefaultLanguage = objPortal.DefaultLanguage; this.TimeZoneOffset = objPortal.TimeZoneOffset; this.HomeDirectory = objPortal.HomeDirectory; this.Version = objPortal.Version; this.AdminSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Admin); this.PortalSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal); this.AdminContainer = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Admin); this.PortalContainer = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal); this.Pages = objPortal.Pages; this.Users = objPortal.Users; // set custom properties if (Null.IsNull(this.HostSpace)) { this.HostSpace = 0; } if (Null.IsNull(this.DefaultLanguage)) { this.DefaultLanguage = Localization.SystemLocale; } if (Null.IsNull(this.TimeZoneOffset)) { this.TimeZoneOffset = Localization.SystemTimeZoneOffset; } this.HomeDirectory = Globals.ApplicationPath + "/" + objPortal.HomeDirectory + "/"; // get application version Array arrVersion = Globals.glbAppVersion.Split(Convert.ToChar(".")); int intMajor = Convert.ToInt32(arrVersion.GetValue((0))); int intMinor = Convert.ToInt32(arrVersion.GetValue((1))); int intBuild = Convert.ToInt32(arrVersion.GetValue((2))); this.Version = string.Format("{0}.{1}.{2}", intMajor, intMinor, intBuild); } //Add each portal Tab to DekstopTabs TabInfo objPortalTab = null; foreach (KeyValuePair <int, TabInfo> tabPair in objTabs.GetTabsByPortal(this.PortalId)) { // clone the tab object ( to avoid creating an object reference to the data cache ) objPortalTab = tabPair.Value.Clone(); // set custom properties if (objPortalTab.TabOrder == 0) { objPortalTab.TabOrder = 999; } if (Null.IsNull(objPortalTab.StartDate)) { objPortalTab.StartDate = DateTime.MinValue; } if (Null.IsNull(objPortalTab.EndDate)) { objPortalTab.EndDate = DateTime.MaxValue; } objPortalTab.IsSuperTab = false; this.DesktopTabs.Add(objPortalTab); } //Add each host Tab to DesktopTabs TabInfo objHostTab = null; foreach (KeyValuePair <int, TabInfo> tabPair in objTabs.GetTabsByPortal(Null.NullInteger)) { // clone the tab object ( to avoid creating an object reference to the data cache ) objHostTab = tabPair.Value.Clone(); objHostTab.PortalID = this.PortalId; objHostTab.StartDate = DateTime.MinValue; objHostTab.EndDate = DateTime.MaxValue; objHostTab.IsSuperTab = true; this.DesktopTabs.Add(objHostTab); } //At this point the DesktopTabs Collection contains all the Tabs for the current portal //verify tab for portal. This assigns the Active Tab based on the Tab Id/PortalId if (VerifyPortalTab(PortalId, TabId)) { if (this.ActiveTab != null) { // skin if (this.ActiveTab.SkinSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { objSkin = this.AdminSkin; } else { objSkin = this.PortalSkin; } if (objSkin != null) { this.ActiveTab.SkinSrc = objSkin.SkinSrc; } } if (this.ActiveTab.SkinSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { this.ActiveTab.SkinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultAdminSkin; } else { this.ActiveTab.SkinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } } this.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(this.ActiveTab.SkinSrc, this); this.ActiveTab.SkinPath = SkinController.FormatSkinPath(this.ActiveTab.SkinSrc); // container if (this.ActiveTab.ContainerSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { objSkin = this.AdminContainer; } else { objSkin = this.PortalContainer; } if (objSkin != null) { this.ActiveTab.ContainerSrc = objSkin.SkinSrc; } } if (this.ActiveTab.ContainerSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { this.ActiveTab.ContainerSrc = "[G]" + SkinInfo.RootContainer + Globals.glbDefaultContainerFolder + Globals.glbDefaultAdminContainer; } else { this.ActiveTab.ContainerSrc = "[G]" + SkinInfo.RootContainer + Globals.glbDefaultContainerFolder + Globals.glbDefaultContainer; } } this.ActiveTab.ContainerSrc = SkinController.FormatSkinSrc(this.ActiveTab.ContainerSrc, this); this.ActiveTab.ContainerPath = SkinController.FormatSkinPath(this.ActiveTab.ContainerSrc); // initialize collections this.ActiveTab.BreadCrumbs = new ArrayList(); this.ActiveTab.Panes = new ArrayList(); this.ActiveTab.Modules = new ArrayList(); // get breadcrumbs for current tab GetBreadCrumbsRecursively(this.ActiveTab.BreadCrumbs, this.ActiveTab.TabID); } } Hashtable objPaneModules = new Hashtable(); // get current tab modules foreach (KeyValuePair <int, ModuleInfo> kvp in objModules.GetTabModules(this.ActiveTab.TabID)) { objModule = kvp.Value; // clone the module object ( to avoid creating an object reference to the data cache ) ModuleInfo cloneModule = objModule.Clone(); // set custom properties if (Null.IsNull(cloneModule.StartDate)) { cloneModule.StartDate = DateTime.MinValue; } if (Null.IsNull(cloneModule.EndDate)) { cloneModule.EndDate = DateTime.MaxValue; } // container if (cloneModule.ContainerSrc == "") { cloneModule.ContainerSrc = this.ActiveTab.ContainerSrc; } cloneModule.ContainerSrc = SkinController.FormatSkinSrc(cloneModule.ContainerSrc, this); cloneModule.ContainerPath = SkinController.FormatSkinPath(cloneModule.ContainerSrc); // process tab panes if (objPaneModules.ContainsKey(cloneModule.PaneName) == false) { objPaneModules.Add(cloneModule.PaneName, 0); } cloneModule.PaneModuleCount = 0; if (!cloneModule.IsDeleted) { objPaneModules[cloneModule.PaneName] = Convert.ToInt32(objPaneModules[cloneModule.PaneName]) + 1; cloneModule.PaneModuleIndex = Convert.ToInt32(objPaneModules[cloneModule.PaneName]) - 1; } this.ActiveTab.Modules.Add(cloneModule); } // set pane module count foreach (ModuleInfo objModuleWithinLoop in this.ActiveTab.Modules) { objModule = objModuleWithinLoop; objModuleWithinLoop.PaneModuleCount = Convert.ToInt32(objPaneModules[objModuleWithinLoop.PaneName]); } }
private bool ProcessSlaveModule() { ModuleController objModules = new ModuleController(); ModuleInfo objModule = null; ModuleInfo slaveModule = null; int moduleId = -1; string key = ""; bool bSuccess = true; if (Request.QueryString["mid"] != null) { Int32.TryParse(Request.QueryString["mid"], out moduleId); } if (Request.QueryString["ctl"] != null) { key = Request.QueryString["ctl"]; } if (Request.QueryString["moduleid"] != null && (key.ToLower() == "module" || key.ToLower() == "help")) { Int32.TryParse(Request.QueryString["moduleid"], out moduleId); } if (moduleId != -1) { objModule = objModules.GetModule(moduleId, PortalSettings.ActiveTab.TabID, false); if (objModule != null) { slaveModule = objModule.Clone(); } } if (slaveModule == null) { slaveModule = new ModuleInfo(); slaveModule.ModuleID = moduleId; slaveModule.ModuleDefID = -1; slaveModule.TabID = PortalSettings.ActiveTab.TabID; } if (Request.QueryString["moduleid"] != null && (key.ToLower() == "module" || key.ToLower() == "help")) { slaveModule.ModuleDefID = -1; } if (Request.QueryString["dnnprintmode"] != "true") { slaveModule.ModuleTitle = ""; } slaveModule.Header = ""; slaveModule.Footer = ""; slaveModule.StartDate = DateTime.MinValue; slaveModule.EndDate = DateTime.MaxValue; slaveModule.PaneName = Common.Globals.glbDefaultPane; slaveModule.Visibility = VisibilityState.None; slaveModule.Color = ""; slaveModule.Border = ""; slaveModule.DisplayTitle = true; slaveModule.DisplayPrint = false; slaveModule.DisplaySyndicate = false; slaveModule.ContainerSrc = PortalSettings.ActiveTab.ContainerSrc; if (string.IsNullOrEmpty(slaveModule.ContainerSrc)) { slaveModule.ContainerSrc = PortalSettings.DefaultPortalContainer; } slaveModule.ContainerSrc = SkinController.FormatSkinSrc(slaveModule.ContainerSrc, PortalSettings); slaveModule.ContainerPath = SkinController.FormatSkinPath(slaveModule.ContainerSrc); Pane pane = null; bool bFound = Panes.TryGetValue(Common.Globals.glbDefaultPane.ToLowerInvariant(), out pane); ModuleControlInfo objModuleControl = ModuleControlController.GetModuleControlByControlKey(key, slaveModule.ModuleDefID); if (objModuleControl != null) { slaveModule.ModuleControlId = objModuleControl.ModuleControlID; slaveModule.IconFile = objModuleControl.IconFile; if (ModulePermissionController.HasModuleAccess(slaveModule.ModuleControl.ControlType, Null.NullString, slaveModule)) { bSuccess = InjectModule(pane, slaveModule); } else { Response.Redirect(Common.Globals.AccessDeniedURL(MODULEACCESS_ERROR), true); } } return(bSuccess); }