public static void Show(Core core, TPage page, User owner) { if (core == null) { throw new NullCoreException(); } if (!owner.Access.Can("VIEW")) { core.Functions.Generate403(); return; } if (core.ResponseFormat == ResponseFormats.Xml) { ShowMore(core, page, owner); return; } core.Template.SetTemplate("Profile", "viewfeed"); if (core.Session.IsLoggedIn && owner == core.Session.LoggedInMember) { core.Template.Parse("OWNER", "TRUE"); } core.Template.Parse("PAGE_TITLE", core.Prose.GetString("FEED")); PermissionGroupSelectBox permissionSelectBox = new PermissionGroupSelectBox(core, "permissions", owner.ItemKey); core.Template.Parse("S_STATUS_PERMISSIONS", permissionSelectBox); bool moreContent; long lastId = 0; bool first = true; List<Action> feedActions = CombinedFeed.GetItems(core, owner, page.TopLevelPageNumber, 20, page.TopLevelPageOffset, out moreContent); foreach (Action feedAction in feedActions) { if (first) { first = false; core.Template.Parse("NEWEST_ID", feedAction.Id.ToString()); } VariableCollection feedItemVariableCollection = core.Template.CreateChild("feed_days_list.feed_item"); core.Display.ParseBbcode(feedItemVariableCollection, "TITLE", feedAction.FormattedTitle); core.Display.ParseBbcode(feedItemVariableCollection, "TEXT", feedAction.Body, core.PrimitiveCache[feedAction.OwnerId], true, string.Empty, string.Empty); feedItemVariableCollection.Parse("USER_DISPLAY_NAME", feedAction.Owner.DisplayName); feedItemVariableCollection.Parse("ID", feedAction.ActionItemKey.Id); feedItemVariableCollection.Parse("TYPE_ID", feedAction.ActionItemKey.TypeId); if (feedAction.ActionItemKey.GetType(core).Likeable) { feedItemVariableCollection.Parse("LIKEABLE", "TRUE"); if (feedAction.Info.Likes > 0) { feedItemVariableCollection.Parse("LIKES", string.Format(" {0:d}", feedAction.Info.Likes)); feedItemVariableCollection.Parse("DISLIKES", string.Format(" {0:d}", feedAction.Info.Dislikes)); } } if (feedAction.ActionItemKey.GetType(core).Commentable) { feedItemVariableCollection.Parse("COMMENTABLE", "TRUE"); if (feedAction.Info.Comments > 0) { feedItemVariableCollection.Parse("COMMENTS", string.Format(" ({0:d})", feedAction.Info.Comments)); } } //Access access = new Access(core, feedAction.ActionItemKey, true); if (feedAction.PermissiveParent.Access.IsPublic()) { feedItemVariableCollection.Parse("IS_PUBLIC", "TRUE"); if (feedAction.ActionItemKey.GetType(core).Shareable) { feedItemVariableCollection.Parse("SHAREABLE", "TRUE"); //feedItemVariableCollection.Parse("U_SHARE", feedAction.ShareUri); if (feedAction.Info.SharedTimes > 0) { feedItemVariableCollection.Parse("SHARES", string.Format(" {0:d}", feedAction.Info.SharedTimes)); } } } else { feedItemVariableCollection.Parse("IS_PUBLIC", "FALSE"); feedItemVariableCollection.Parse("SHAREABLE", "FALSE"); } if (feedAction.Owner is User) { feedItemVariableCollection.Parse("USER_TILE", ((User)feedAction.Owner).Tile); feedItemVariableCollection.Parse("USER_ICON", ((User)feedAction.Owner).Icon); } lastId = feedAction.Id; } core.Display.ParseBlogPagination(core.Template, "PAGINATION", core.Hyperlink.BuildCombinedFeedUri((User)owner), 0, moreContent ? lastId : 0); core.Template.Parse("U_NEXT_PAGE", core.Hyperlink.BuildCombinedFeedUri((User)owner) + "?p=" + (core.TopLevelPageNumber + 1) + "&o=" + lastId); /* pages */ core.Display.ParsePageList(owner, true); List<string[]> breadCrumbParts = new List<string[]>(); breadCrumbParts.Add(new string[] { "*profile", core.Prose.GetString("PROFILE") }); breadCrumbParts.Add(new string[] { "feed", core.Prose.GetString("FEED") }); owner.ParseBreadCrumbs(breadCrumbParts); }