private void PreparePage() { // Check access rights and increase view count if ((pageOrCommunity.GetUserAccess(UserDataContext.GetUserDataContext()) & ObjectAccessRight.Update) == ObjectAccessRight.Update) { isReadOnly = false; } if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("ProfileCommunity") && !CustomizationSection.CachedInstance.CustomizationBar.Enabled) { isReadOnly = true; } if (UserDataContext.GetUserDataContext().IsAdmin) { isReadOnly = false; } if (UserProfile.Current.UserId != Guid.Empty) { isOwner = Community.GetIsUserOwner(UserProfile.Current.UserId, PageInfo.EffectiveCommunityId.Value, out isMember); } if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("Community")) { if (pageOrCommunity.Status == ObjectStatus.Public || isOwner || isMember) { DataObject.AddViewed(UserDataContext.GetUserDataContext(), pageOrCommunity.UserID, Helper.GetObjectTypeNumericID("Community")); } else { Response.Redirect("/pages/static/AccessDenied.aspx", true); } } else if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("ProfileCommunity")) { DataObject.AddViewed(UserDataContext.GetUserDataContext(), pageOrCommunity.UserID, Helper.GetObjectTypeNumericID("User")); DataObject.AddViewed(UserDataContext.GetUserDataContext(), pageOrCommunity.UserID, Helper.GetObjectTypeNumericID("ProfileCommunity")); } else if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("Page")) { if (pageOrCommunity.RoleRight.ContainsKey(UserDataContext.GetUserDataContext().UserRole) && pageOrCommunity.RoleRight[UserDataContext.GetUserDataContext().UserRole]) { DataObject.AddViewed(UserDataContext.GetUserDataContext(), pageOrCommunity.UserID, Helper.GetObjectTypeNumericID("Page")); } else { Response.Redirect("/pages/static/AccessDenied.aspx", true); } } // Load pages pages = wdc.hitbl_Page_PAGs.Where(x => x.CTY_ID == PageInfo.EffectiveCommunityId).OrderBy(x => x.PAG_OrderNr).ToList(); if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("Community") || pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("ProfileCommunity")) { int pageIndex; if (isOwner && (page.ToLower() == "dashboard" || string.IsNullOrEmpty(page))) { currentPage = pages[0]; page = "dashboard"; } else if (!string.IsNullOrEmpty(page) && int.TryParse(page, out pageIndex)) { currentPage = pages[pageIndex]; } else { currentPage = pages[1]; } } else { currentPage = pages[0]; } hitbl_Community_CTY owningCommunity = null; Guid?owningCommunityId = null; int owningObjectType = 0; // Set theme and style bool themeAndStyleOverridden = false; if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("Page")) { DataObjectPage page = DataObject.Load <DataObjectPage>(PageInfo.EffectiveCommunityId); parentPageType = page.PageType; if (parentPageType == PageType.Detail && !string.IsNullOrEmpty(Request.QueryString["OID"])) { DataObject detail = DataObject.Load <DataObject>(Request.QueryString["OID"].ToGuid()); if (detail.State != ObjectState.Added) { owningCommunityId = detail.CommunityID; owningObjectType = page.ObjectType; owningCommunity = wdc.hitbl_Community_CTies.Where(x => x.CTY_ID == owningCommunityId).SingleOrDefault(); themeAndStyleOverridden = true; } else { Response.Redirect("/Pages/Static/ObjectNotFound.aspx"); } } else if (parentPageType == PageType.Overview && (!string.IsNullOrEmpty(Request.QueryString["XUI"]) || !string.IsNullOrEmpty(Request.QueryString["XCN"]))) { if (!string.IsNullOrEmpty(Request.QueryString["XUI"])) { MembershipUser membershipUser = Membership.GetUser(new Guid(Request.QueryString["XUI"]), false); owningCommunityId = UserProfile.GetProfile(membershipUser.UserName).ProfileCommunityID; owningObjectType = Helper.GetObjectType("ProfileCommunity").NumericId; } else if (!string.IsNullOrEmpty(Request.QueryString["XCN"])) { owningCommunityId = new Guid(Request.QueryString["XCN"]); owningObjectType = Helper.GetObjectType("Community").NumericId; } owningCommunity = wdc.hitbl_Community_CTies.Where(x => x.CTY_ID == owningCommunityId).SingleOrDefault(); themeAndStyleOverridden = true; } } if (!themeAndStyleOverridden) { owningCommunity = community; } Theme = owningCommunity.CTY_Theme; ((IWidgetPageMaster)Page.Master).HeaderStyle = owningCommunity.CTY_HeaderStyle; ((IWidgetPageMaster)Page.Master).BodyStyle = owningCommunity.CTY_BodyStyle; ((IWidgetPageMaster)Page.Master).FooterStyle = owningCommunity.CTY_FooterStyle; //Add custom widget styles var widgetStyles = wdc.hisp_WidgetTemplates_GetCommunityTemplates(PageInfo.EffectiveCommunityId).ToList(); StringBuilder styles = new StringBuilder("<style>"); foreach (var widgetStyle in widgetStyles) { styles.Append(widgetStyle.WTP_Template); } styles.Append("</style>"); PhStyle.Controls.Clear(); PhStyle.Controls.Add(new LiteralControl(styles.ToString())); // Set metadata and breadcrumbs // TODO: weitere Format-Config's in Customizaition.config machen (die vorhandenen sind unklar benannt und somit weiss man nicht wo verwendet) ((IWidgetPageMaster)Page.Master).MetaDescription.Content = Server.HtmlEncode(pageOrCommunity.Description.StripHTMLTags()); ((IWidgetPageMaster)Page.Master).MetaKeywords.Content = Server.HtmlEncode(pageOrCommunity.TagList.StripHTMLTags().Replace(Common.Constants.TAG_DELIMITER.ToString(), ",")); ((IWidgetPageMaster)Page.Master).MetaOgSiteName.Content = SiteConfig.SiteName; ((IWidgetPageMaster)Page.Master).MetaOgUrl.Content = SiteConfig.SiteURL + Request.RawUrl; ((IWidgetPageMaster)Page.Master).MetaOgTitle.Content = Server.HtmlEncode(pageOrCommunity.Title.StripHTMLTags()); if (parentPageType == PageType.Homepage) { Master.Page.Title = string.Format(CustomizationSection.CachedInstance.Common.TitleFormat1, SiteConfig.SiteName, pageOrCommunity.Title); } else if (parentPageType == PageType.Overview) { ((IWidgetPageMaster)Page.Master).RssLink.Href = "/pages/other/rssfeed.aspx" + Request.Url.Query; } else if (parentPageType == PageType.Detail) { if (Helper.GetObjectTypeNumericID(Request.QueryString["OT"]) == Helper.GetObjectTypeNumericID("ForumTopic") && !string.IsNullOrEmpty(Request.QueryString["OID"])) { ((IWidgetPageMaster)Page.Master).RssLink.Href = "/pages/other/rssfeed.aspx?OT=ForumTopicItem&RPID=" + Request.QueryString["OID"]; } else if (Helper.GetObjectTypeNumericID(Request.QueryString["OT"]) == Helper.GetObjectTypeNumericID("Forum")) { ((IWidgetPageMaster)Page.Master).RssLink.Href = "/pages/other/rssfeed.aspx?OT=ForumTopicItem"; } } else if (parentPageType == PageType.None) { if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("ProfileCommunity") && page.ToLower() != "dashboard") { ((IWidgetPageMaster)Page.Master).BreadCrumb.BreadCrumbs.Add(new LiteralControl(string.Format("{0}", pageOrCommunity.Nickname))); ((IWidgetPageMaster)Page.Master).BreadCrumb.BreadCrumpImage = string.Format("/Library/Images/Layout/{0}", Helper.GetObjectIcon(Helper.GetObjectTypeNumericID("User"))); ((IWidgetPageMaster)Page.Master).BreadCrumb.RenderBreadCrumbs(); ((IWidgetPageMaster)Page.Master).RssLink.Href = "/pages/other/rssfeed.aspx" + Request.Url.Query; Master.Page.Title = string.Format(CustomizationSection.CachedInstance.Common.TitleFormat1, SiteConfig.SiteName, pageOrCommunity.Nickname); } else if (pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("Community") || pageOrCommunity.ObjectType == Helper.GetObjectTypeNumericID("Page")) { ((IWidgetPageMaster)Page.Master).BreadCrumb.BreadCrumpImage = string.Format("/Library/Images/Layout/{0}", Helper.GetObjectIcon(pageOrCommunity.ObjectType)); string title = Regex.Replace(pageOrCommunity.Title, @"\[tracking=.*?\]", "", RegexOptions.IgnoreCase); if (!pageOrCommunity.ParentObjectID.HasValue) { ((IWidgetPageMaster)Page.Master).BreadCrumb.BreadCrumbs.Add(new LiteralControl(title)); ((IWidgetPageMaster)Page.Master).BreadCrumb.RenderBreadCrumbs(); Master.Page.Title = string.Format(CustomizationSection.CachedInstance.Common.TitleFormat1, SiteConfig.SiteName, title); } else { Community parentCommunity = new Community(pageOrCommunity.ParentObjectID.Value); string parentTitle = Regex.Replace(parentCommunity.ProfileOrCommunity.Title, @"\[tracking=.*?\]", "", RegexOptions.IgnoreCase); ((IWidgetPageMaster)Page.Master).BreadCrumb.BreadCrumbs.Add(new LiteralControl(string.Format("<a href='{0}'>{1}</a> / {2}", Helper.GetDetailLink(Helper.GetObjectTypeNumericID("Community"), ((DataObjectCommunity)parentCommunity.ProfileOrCommunity).VirtualURL, true), parentTitle, title))); ((IWidgetPageMaster)Page.Master).BreadCrumb.RenderBreadCrumbs(); Master.Page.Title = string.Format(CustomizationSection.CachedInstance.Common.TitleFormat1, SiteConfig.SiteName, parentTitle + " / " + title); } } } // Track events if (pageOrCommunity.objectType == Helper.GetObjectType("Page").NumericId) { if (parentPageType == PageType.Overview) { _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(owningCommunityId, owningObjectType, IsPostBack, LogSitePageType.Overview); } else if (parentPageType == PageType.Detail) { _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(owningCommunityId, owningObjectType, IsPostBack, LogSitePageType.Detail); } else if (parentPageType == PageType.Homepage) { _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(owningCommunityId, owningObjectType, IsPostBack, LogSitePageType.Homepage); } else { _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(PageInfo.EffectiveCommunityId, pageOrCommunity.ObjectType, IsPostBack, LogSitePageType.CmsPage); } } else if (pageOrCommunity.objectType == Helper.GetObjectType("Community").NumericId) { _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(pageOrCommunity.ObjectID, pageOrCommunity.ObjectType, IsPostBack, LogSitePageType.Community); } else if (pageOrCommunity.objectType == Helper.GetObjectType("ProfileCommunity").NumericId) { _4screen.CSB.Extensions.Business.TrackingManager.TrackEventPage(pageOrCommunity.ObjectID, pageOrCommunity.ObjectType, IsPostBack, LogSitePageType.UserProfile); } }
protected void Page_Load(object sender, EventArgs e) { base.OnInit(e); udc = UserDataContext.GetUserDataContext(); page = DataObject.Load <DataObjectPage>(ObjectID, null, true); if (page.State == ObjectState.Added) { page = new DataObjectPage(udc); page.ParentObjectType = Helper.GetObjectTypeNumericID("Page"); var roleRights = page.RoleRight.Keys.ToArray(); foreach (var roleRight in roleRights) { page.RoleRight[roleRight] = true; } page.ObjectID = ObjectID; page.CommunityID = ObjectID; page.Title = GuiLanguage.GetGuiLanguage("Shared").GetString("LabelUnnamed"); page.Status = ObjectStatus.Public; page.ShowState = ObjectShowState.InProgress; page.Insert(udc); page = DataObject.Load <DataObjectPage>(ObjectID, null, true); HitblCommunityCty objCommunity = new HitblCommunityCty(); objCommunity.CtyId = page.ObjectID.Value; objCommunity.CtyInsertedDate = page.Inserted; objCommunity.CtyVirtualUrl = Guid.NewGuid().ToString(); objCommunity.UsrIdInserted = page.UserID.Value; objCommunity.CtyIsProfile = false; objCommunity.CtyStatus = (int)CommunityStatus.Initializing; objCommunity.CtyLayout = _4screen.CSB.Common.CustomizationSection.CachedInstance.DefaultLayouts.Page; objCommunity.CtyTheme = Constants.DEFAULT_THEME; objCommunity.CtyUpdatedDate = page.Inserted; objCommunity.UsrIdUpdated = page.UserID; objCommunity.Save(); } community = HitblCommunityCty.FetchByID(ObjectID.Value); if (community.CtyStatus != (int)CommunityStatus.Initializing) { txtCommName.ReadOnly = true; } else { page.Title = string.Empty; } if (!string.IsNullOrEmpty(Request.QueryString["TG"])) { page.TagList = Server.UrlDecode(Request.QueryString["TG"]); } if (!string.IsNullOrEmpty(Request.QueryString["OS"])) { page.Status = (ObjectStatus)int.Parse(Request.QueryString["OS"]); } if (!string.IsNullOrEmpty(Request.QueryString["SS"])) { page.ShowState = (ObjectShowState)int.Parse(Request.QueryString["SS"]); } if (!string.IsNullOrEmpty(Request.QueryString["CR"])) { page.Copyright = int.Parse(Request.QueryString["CR"]); } if (!string.IsNullOrEmpty(Request.QueryString["GC"])) { string[] geoLatLong = Request.QueryString["GC"].Split(','); double geoLat, geoLong = double.MinValue; if (geoLatLong.Length == 2) { if (double.TryParse(geoLatLong[0], out geoLat) && double.TryParse(geoLatLong[1], out geoLong)) { page.Geo_Lat = geoLat; page.Geo_Long = geoLong; } } } if (!string.IsNullOrEmpty(Request.QueryString["ZP"])) { page.Zip = Server.UrlDecode(Request.QueryString["ZP"]); } if (!string.IsNullOrEmpty(Request.QueryString["CI"])) { page.City = Server.UrlDecode(Request.QueryString["CI"]); } if (!string.IsNullOrEmpty(Request.QueryString["RE"])) { page.Street = Server.UrlDecode(Request.QueryString["RE"]); } if (!string.IsNullOrEmpty(Request.QueryString["CO"])) { page.CountryCode = Server.UrlDecode(Request.QueryString["CO"]); } InsertRoles(); FillEditForm(); }
protected void Page_Load(object sender, EventArgs e) { if (ObjectType == Helper.GetObjectTypeNumericID("Community")) { DataObjectCommunity community = DataObject.Load <DataObjectCommunity>(ObjectID.Value, null, true); string anchorContent = string.Empty; if (SiteConfig.UsePopupWindows) { anchorContent = string.Format("href=\"javascript:void(0)\" onClick=\"RedirectParentPage('/{0}');GetRadWindow().Close();\"", community.VirtualURL); } else { anchorContent = string.Format("href=\"/{0}\"", community.VirtualURL); } this.LitMsg.Text = string.Format(language.GetString("MessageCreateCommunitySuccess"), anchorContent, community.Title); } else if (ObjectType == Helper.GetObjectTypeNumericID("Page")) { DataObjectPage cmsPage = DataObject.Load <DataObjectPage>(ObjectID.Value, null, true); string anchorContent = string.Empty; if (SiteConfig.UsePopupWindows) { anchorContent = string.Format("href=\"javascript:void(0)\" onClick=\"RedirectParentPage('/{0}');GetRadWindow().Close();\"", cmsPage.VirtualURL); } else { anchorContent = string.Format("href=\"/{0}\"", cmsPage.VirtualURL); } this.LitMsg.Text = string.Format(language.GetString("MessageCreatePageSuccess"), anchorContent, cmsPage.Title); } else if (ObjectType == Helper.GetObjectTypeNumericID("User")) { this.LitMsg.Text = GuiLanguage.GetGuiLanguage("UserControls.WebUI.Base").GetString("MessageRegistrationSucceded"); } else { DataObject community = DataObject.Load <DataObject>(CommunityID.Value, null, true); string message = string.Empty; string goToCommunity = string.Empty; string goToCommunityText = string.Empty; if (community.ObjectType == Helper.GetObjectTypeNumericID("Community")) { message = string.Format(language.GetString("MessageUploadCommunity"), Helper.GetObjectName(ObjectType, false), community.Title); goToCommunity = string.Format("{0}", Helper.GetDetailLink(Helper.GetObjectTypeNumericID("Community"), community.ObjectID.ToString())); goToCommunityText = string.Format(language.GetString("MessageGoTo"), community.Title); } else if (community.ObjectType == Helper.GetObjectTypeNumericID("ProfileCommunity")) { message = string.Format(language.GetString("MessageUploadProfile"), Helper.GetObjectName(ObjectType, false), community.Title); goToCommunity = string.Format("{0}", Helper.GetDetailLink(Helper.GetObjectTypeNumericID("User"), community.Nickname)); goToCommunityText = string.Format(language.GetString("MessageGoToProfile")); } string goToMyContent = string.Format("{0}&T={1}&I=true", Helper.GetDashboardLink(Common.Dashboard.ManageContent), ObjectType); string goToMyContentText = string.Format(language.GetString("MessageGoToMyContent"), Helper.GetObjectName(ObjectType, false)); string goToReturnUrl = string.Empty; if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"])) { goToReturnUrl = System.Text.ASCIIEncoding.ASCII.GetString(System.Convert.FromBase64String(Request.QueryString["ReturnUrl"])); } StringBuilder sb = new StringBuilder(); sb.Append("<ul>"); if (SiteConfig.UsePopupWindows) { sb.AppendFormat("<li><a href=\"javascript:void(0)\" onClick=\"RedirectParentPage('{0}');GetRadWindow().Close();\">{1}</a></li>", goToCommunity, goToCommunityText); sb.AppendFormat("<li><a href=\"javascript:void(0)\" onClick=\"RedirectParentPage('{0}');GetRadWindow().Close();\">{1}</a></li>", goToMyContent, goToMyContentText); if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"])) { sb.AppendFormat("<li><a href=\"javascript:void(0)\" onClick=\"RedirectParentPage('{0}');GetRadWindow().Close();\">{1}</a></li>", goToReturnUrl, language.GetString("MessageGoBack")); } } else { sb.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", goToCommunity, goToCommunityText); sb.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", goToMyContent, goToMyContentText); if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"])) { sb.AppendFormat("<li><a href=\"{0}\">{1}</a></li>", goToReturnUrl, language.GetString("MessageGoBack")); } } sb.Append("</ul>"); this.LitMsg.Text = message; this.LitMsg2.Text = sb.ToString(); Guid?uploadSession = Request.QueryString["UploadSession"].ToNullableGuid(); if (uploadSession.HasValue) { DataObjectList <DataObject> dataObjectsByUploadSession = DataObjects.Load <DataObject>(new QuickParameters { Udc = UserDataContext.GetUserDataContext(UserProfile.Current.UserName), ObjectType = ObjectType, SortBy = QuickSort.InsertedDate, Direction = QuickSortDirection.Asc, GroupID = uploadSession, DisablePaging = true, IgnoreCache = true, QuerySourceType = QuerySourceType.MyContent }); if (dataObjectsByUploadSession.Count > 0) { for (int i = 0; i < dataObjectsByUploadSession.Count; i++) { UserActivities.Insert(UserDataContext.GetUserDataContext(), UserActivityWhat.HasUploadetOneObject, dataObjectsByUploadSession[i].CommunityID.Value, dataObjectsByUploadSession[i].ObjectID.Value, false); } } } else if (ObjectID.HasValue) { UserActivities.Insert(UserDataContext.GetUserDataContext(), UserActivityWhat.HasUploadetOneObject, CommunityID.Value, ObjectID.Value, false); } } }