public static string GetContentWallMarkup(string markupStr, Node contextNode, string hiddenCommentsMarkup, string commentsMarkup, int commentCount, LikeInfo likeInfo, string postsMarkup)
{
if (markupStr == null)
{
return(null);
}
markupStr = markupStr.Replace("{{postid}}", contextNode.Id.ToString());
markupStr = markupStr.Replace("{{hiddencomments}}", hiddenCommentsMarkup);
markupStr = markupStr.Replace("{{comments}}", commentsMarkup);
markupStr = markupStr.Replace("{{hiddencommentboxdisplay}}", commentCount > 2 ? "block" : "none");
markupStr = markupStr.Replace("{{commentcount}}", commentCount.ToString());
markupStr = markupStr.Replace("{{likeboxdisplay}}", likeInfo.Count > 0 ? "block" : "none");
markupStr = markupStr.Replace("{{likes}}", likeInfo.GetLongMarkup());
markupStr = markupStr.Replace("{{ilikedisplay}}", !likeInfo.iLike ? "inline" : "none");
markupStr = markupStr.Replace("{{iunlikedisplay}}", likeInfo.iLike ? "inline" : "none");
var contextGc = contextNode as GenericContent;
markupStr = markupStr.Replace("{{shareicon}}", IconHelper.ResolveIconPath(contextGc.Icon, 32));
markupStr = markupStr.Replace("{{sharedisplayname}}", contextGc.DisplayName);
markupStr = markupStr.Replace("{{sharecontenttype}}", contextGc.NodeType.Name);
markupStr = markupStr.Replace("{{sharepath}}", contextGc.Path);
var ws = Workspace.GetWorkspaceWithWallForNode(contextNode);
if (ws == null)
{
ws = Workspace.GetWorkspaceForNode(contextNode);
}
if (ws != null)
{
markupStr = markupStr.Replace("{{sharetargetdefaultpath}}", ws.Path);
markupStr = markupStr.Replace("{{sharetargetdefaultname}}", ws.DisplayName);
markupStr = markupStr.Replace("{{workspacepath}}", ws.Path);
markupStr = markupStr.Replace("{{workspacename}}", ws.DisplayName);
}
else
{
markupStr = markupStr.Replace("{{sharetargetdefaultpath}}", string.Empty);
markupStr = markupStr.Replace("{{sharetargetdefaultname}}", string.Empty);
}
// always include profile link - it will be created if not yet exists
var currentUser = User.Current as User;
markupStr = markupStr.Replace("{{mywallpath}}", Actions.ActionUrl(Content.Create(currentUser), "Profile"));
markupStr = markupStr.Replace("{{mywallname}}", "My wall");
markupStr = markupStr.Replace("{{mywalldisplay}}", "inline");
markupStr = markupStr.Replace("{{workspacedisplay}}", ws != null ? "inline" : "none");
markupStr = markupStr.Replace("{{posts}}", postsMarkup);
// user interaction allowed
markupStr = markupStr.Replace("{{interactdisplay}}", WallHelper.HasWallPermission(contextNode.Path, contextNode) ? "block" : "none");
return(markupStr);
}