protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Enabled) { return; } int[] hideTabs = new int[1] { TabId }; if (!string.IsNullOrEmpty(HideOnTabIds)) { try { hideTabs = HideOnTabIds.Split(',', ' ', ';').Select(s => int.Parse(s)).ToArray(); } catch (Exception) { } } var activeTab = PortalSettings.ActiveTab; if (hideTabs.Contains(activeTab.TabID)) { return; } if (!ShowOnAdminTabs && activeTab.ParentId == PortalSettings.AdminTabId) { return; } if (!ShowOnHostTabs && activeTab.IsSuperTab) { return; } ModuleController mc = new ModuleController(); ModuleInfo module = null; if (!string.IsNullOrEmpty(ModuleTitle)) { var modules = DnnUtils.GetDnnOpenContentModules(PortalSettings.PortalId); module = modules.FirstOrDefault(m => m.ViewModule?.ModuleInfo?.ModuleTitle == ModuleTitle)?.ViewModule.ModuleInfo; if (module == null) { DotNetNuke.UI.Skins.Skin.AddPageMessage(Page, "OpenContent RenderModule SkinObject", $"No module exist for ModuleTitle {ModuleTitle}", DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError); return; } } else { module = mc.GetModule(ModuleId, TabId, false); if (module == null) { DotNetNuke.UI.Skins.Skin.AddPageMessage(Page, "OpenContent RenderModule SkinObject", $"No module exist for TabId {TabId} and ModuleId {ModuleId} ", DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError); return; } } if (!string.IsNullOrEmpty(Template)) { var moduleClone = new ModuleInfo(); foreach (System.Collections.DictionaryEntry item in module.ModuleSettings) { moduleClone.ModuleSettings.Add(item.Key, item.Value); } moduleClone.ModuleID = module.ModuleID; moduleClone.TabID = module.TabID; moduleClone.TabModuleID = module.TabModuleID; moduleClone.PortalID = module.PortalID; moduleClone.ModuleSettings["template"] = Template; module = moduleClone; } var engine = new RenderEngine(OpenContentModuleConfig.Create(module, PortalSettings)); try { engine.Render(Page); } catch (TemplateException ex) { RenderTemplateException(ex, module); } catch (InvalidJsonFileException ex) { RenderJsonException(ex, module); } catch (Exception ex) { LoggingUtils.ProcessModuleLoadException(this, module, ex); } if (engine.Info.Template != null && !string.IsNullOrEmpty(engine.Info.OutputString)) { //Rendering was succesful. var lit = new LiteralControl(Server.HtmlDecode(engine.Info.OutputString)); Controls.Add(lit); try { engine.IncludeResourses(Page, this); } catch (Exception ex) { DotNetNuke.UI.Skins.Skin.AddPageMessage(Page, "OpenContent RenderModule SkinObject", ex.Message, DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError); } } if (App.Services.CreateGlobalSettingsRepository(activeTab.PortalID).GetCompositeCss()) { //var absUrl = Utils.GetFullUrl(Request, Page.ResolveUrl($"~/DesktopModules/OpenContent/API/Resource/Css?tabid={activeTab.TabID}&portalid={activeTab.PortalID}")); var absUrl = Utils.GetFullUrl(Request, Page.ResolveUrl($"~/API/OpenContent/Resource/Css?tabid={activeTab.TabID}&portalid={activeTab.PortalID}")); App.Services.ClientResourceManager.RegisterStyleSheet(Page, absUrl); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); int[] hideTabs = new int[1] { TabId }; if (string.IsNullOrEmpty(HideOnTabIds)) { try { hideTabs = HideOnTabIds.Split(',', ' ', ';').Select(s => int.Parse(s)).ToArray(); } catch (Exception) { } } var activeTab = PortalSettings.ActiveTab; if (hideTabs.Contains(activeTab.TabID)) { return; } if (!ShowOnAdminTabs && activeTab.ParentId == PortalSettings.AdminTabId) { return; } if (!ShowOnHostTabs && activeTab.IsSuperTab) { return; } ModuleController mc = new ModuleController(); var module = mc.GetModule(ModuleId, TabId, false); if (module == null) { DotNetNuke.UI.Skins.Skin.AddPageMessage(Page, "OpenContent RenderModule SkinObject", $"No module exist for TabId {TabId} and ModuleId {ModuleId} ", DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError); return; } if (!string.IsNullOrEmpty(Template)) { var moduleClone = new ModuleInfo(); foreach (System.Collections.DictionaryEntry item in module.ModuleSettings) { moduleClone.ModuleSettings.Add(item.Key, item.Value); } moduleClone.ModuleID = module.ModuleID; moduleClone.TabID = module.TabID; moduleClone.TabModuleID = module.TabModuleID; moduleClone.PortalID = module.PortalID; moduleClone.ModuleSettings["template"] = Template; module = moduleClone; } var engine = new RenderEngine(module); try { engine.Render(Page); } catch (TemplateException ex) { RenderTemplateException(ex, module); } catch (InvalidJsonFileException ex) { RenderJsonException(ex, module); } catch (Exception ex) { LoggingUtils.ProcessModuleLoadException(this, module, ex); } if (engine.Info.Template != null && !string.IsNullOrEmpty(engine.Info.OutputString)) { //Rendering was succesful. var lit = new LiteralControl(Server.HtmlDecode(engine.Info.OutputString)); Controls.Add(lit); try { engine.IncludeResourses(Page, this); } catch (Exception ex) { DotNetNuke.UI.Skins.Skin.AddPageMessage(Page, "OpenContent RenderModule SkinObject", ex.Message, DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError); } } }