Пример #1
0
 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;
     }
 }
Пример #2
0
        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);
        }