public void InitView(long idSkin, Int32 idModule, Int32 idCommunity, long idItem, Int32 idItemType) { View.isInitialized = true; View.IdSkin = idSkin; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { lm.Comol.Core.DomainModel.ModuleObject item = new lm.Comol.Core.DomainModel.ModuleObject(); item.CommunityID = idCommunity; item.ObjectLongID = idItem; item.ObjectTypeID = idItemType; item.ServiceID = idModule; item.ServiceCode = Service.GetModuleCode(idModule); View.Source = item; Domain.Skin skin = Service.GetItem <Domain.Skin>(idSkin); if (skin == null) { View.DisplayUnknownItem(); } else { SkinType type = (skin.IsPortal) ? SkinType.Portal : (skin.IsModule) ? SkinType.Module : (skin.Communities.Count > 0) ? SkinType.Community : (skin.Organizations.Count > 0) ? SkinType.Organization : SkinType.NotAssigned; View.SkinType = type; View.AllowEdit = (type == SkinType.Module && View.HasPermissionForItem(item)) || (type != SkinType.Module && View.FullSkinManagement); if ((type == SkinType.Module && View.HasPermissionForItem(item)) || (type != SkinType.Module && View.FullSkinManagement)) { View.LoadAvailableViews(Service.GetAvailableViews(type)); View.LoadSkinInfo(skin.Id, skin.Name, true, skin.OverrideVoidFooterLogos); } else { View.DisplayNoPermission(); } } View.BackUrl = View.PreloadedBackUrl; } }
public static Domain.HTML.HTMLSkin RenderSkin(string BaseVirtualPath, Domain.Skin Skin, string LangCode, string DefLangCode) { Domain.HTML.HTMLSkin HtmlSk = new Domain.HTML.HTMLSkin(); //Loghi Header if (Skin.HeaderLogos != null) { Domain.Logo IntLogo = (from Domain.HeaderLogo HL in Skin.HeaderLogos where HL.LangCode == LangCode select HL).FirstOrDefault(); if (IntLogo == null) { IntLogo = (from Domain.HeaderLogo HL in Skin.HeaderLogos where HL.LangCode == DefLangCode select HL).FirstOrDefault(); } if (IntLogo != null) { HtmlSk.HtmlHeadLogo = RenderLogo(BaseVirtualPath, Skin.Id, IntLogo); } } // Loghi Footer if (Skin.FooterLogos != null) { foreach (Domain.FooterLogo HL in Skin.FooterLogos) { if (HL.Languages != null && HL.Languages.Count > 0) { Boolean found = false; foreach (Domain.LogoToLang Ltl in HL.Languages) { if (Ltl.LangCode == LangCode) { found = true; break; } } if (found) { HtmlSk.HtmlFooterLogos.Add(RenderLogo(BaseVirtualPath, Skin.Id, HL)); } } } } if (!HtmlSk.HtmlFooterLogos.Any() && Skin.OverrideVoidFooterLogos) { HtmlSk.HtmlFooterLogos.Add(RenderVoidLogo()); } // Testo Footer string LangTxt = ""; string DefTxt = ""; foreach (Domain.FooterText Txt in Skin.FooterText) { if (Txt.LangCode == LangCode) { LangTxt = Txt.Value; break; } else if (Txt.LangCode == DefLangCode) { DefTxt = Txt.Value; } } if (LangTxt != "") { HtmlSk.FooterText = LangTxt; } else { HtmlSk.FooterText = DefTxt; } //template if (Skin.HeaderTemplate != null) { HtmlSk.HeaderTemplate = Skin.HeaderTemplate.Css; } if (Skin.FooterTemplate != null) { HtmlSk.FooterTemplate = Skin.FooterTemplate.Css; } return(HtmlSk); }