/// <summary> /// Renders ForumPost control for specified node. /// </summary> /// <param name="postRow">Forum post data row</param> /// <param name="sbRendered">String builder instance containing rendered text of control</param> private string DynamicForumPostRender(DataRow postRow, out StringBuilder sbRendered) { // Create detail of post to string sbRendered = new StringBuilder(); string mId = ""; ForumPostInfo fpi = new ForumPostInfo(postRow); if (ShowMode != ShowModeEnum.TreeMode) { StringWriter sw = new StringWriter(sbRendered); Html32TextWriter writer = new Html32TextWriter(sw); ForumViewer post = (ForumViewer)Page.LoadUserControl("~/CMSModules/Forums/Controls/Posts/ForumPost.ascx"); post.ID = "forumPost" + fpi.PostId; CopyValues(post); post.SetValue("PostInfo", fpi); post.ReloadData(); post.RenderControl(writer); mId = ClientID + fpi.PostId; } return(mId); }
protected void InitializeMenu() { // Check if maximum post level is not exceeded bool maxLevelExceeded = (PostInfo != null) && (PostInfo.PostLevel >= ForumPostInfoProvider.MaxPostLevel); var actionsElem = ((CMSPage)Page).HeaderActions; actionsElem.AddAction(new HeaderAction() { Text = GetString("general.edit"), Tooltip = GetString("ForumPost_View.EditToolTip"), OnClientClick = "EditPost(" + PostID + "); return false;" }); actionsElem.AddAction(new HeaderAction() { Text = GetString("general.delete"), Tooltip = GetString("ForumPost_View.DeleteToolTip"), OnClientClick = "DeletePost(" + PostID + "); return false;" }); actionsElem.AddAction(new HeaderAction() { Text = GetString("ForumPost_View.IconReply"), Tooltip = GetString("ForumPost_View.ReplyToolTip"), OnClientClick = maxLevelExceeded ? "return false;" : "ReplyToPost(" + PostID + "); return false;", Enabled = !maxLevelExceeded, }); // Stick thread if (PostInfo.PostLevel == 0) { mThreadMove.SetValue("AdminMode", true); mThreadMove.SetValue("SelectedThreadID", PostInfo.PostId); actionsElem.AddAction(new HeaderAction() { Text = GetString("ForumPost_View.IconMove"), Tooltip = GetString("ForumPost_View.MoveToolTip"), OnClientClick = ControlsHelper.GetPostBackEventReference(btnMoveThread, null) + "; return false;" }); bool isUnstick = (PostInfo.PostStickOrder > 0); actionsElem.AddAction(new HeaderAction() { Text = isUnstick ? GetString("ForumPost_View.IconUnStick") : GetString("ForumPost_View.IconStick"), Tooltip = isUnstick ? GetString("ForumPost_View.UnStickToolTip") : GetString("ForumPost_View.StickToolTip"), OnClientClick = "StickThread(" + PostID + "); return false;" }); bool isLocked = PostInfo.PostIsLocked; actionsElem.AddAction(new HeaderAction() { Text = isLocked ? GetString("ForumPost_View.IconUnLock") : GetString("ForumPost_View.IconLock"), Tooltip = isLocked ? GetString("ForumPost_View.UnLockToolTip") : GetString("ForumPost_View.LockToolTip"), OnClientClick = "LockThread(" + PostID + "); return false;" }); } else { actionsElem.AddAction(new HeaderAction() { Text = GetString("ForumPost_View.IconSplit"), Tooltip = GetString("ForumPost_View.SplitToolTip"), OnClientClick = "SplitThread(" + PostID + "); return false;" }); //Register split confirmation script ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "ForumSplitConfirm", ScriptHelper.GetScript(" function ForumSplitConfirm() {\n" + "if (confirm(" + ScriptHelper.GetString(GetString("ForumPost_View.SplitConfirmation")) + ")) { \n ;SplitThread(" + PostID.ToString() + "); return false; \n}else{ return false; }\n}" )); } bool isApproved = PostInfo.PostApproved; actionsElem.AddAction(new HeaderAction() { Text = isApproved ? GetString("general.reject") : GetString("general.approve"), Tooltip = isApproved ? GetString("ForumPost_View.RejectToolTip") : GetString("ForumPost_View.ApproveToolTip"), OnClientClick = "ApprovePost(" + PostID + "); return false;" }); if (isApproved) { actionsElem.AddAction(new HeaderAction() { Text = GetString("ForumPost_View.IconRejectSubTree"), Tooltip = GetString("ForumPost_View.RejectSubTreeToolTip"), OnClientClick = "RejectSubTree(" + PostID + "); return false;" }); } else { actionsElem.AddAction(new HeaderAction() { Text = GetString("ForumPost_View.IconApproveSubTree"), Tooltip = GetString("ForumPost_View.ApproveSubTreeToolTip"), OnClientClick = "ApproveSubTree(" + PostID + "); return false;" }); } }
protected void InitializeMenu() { // Check if maximum post level is not exceeded bool maxLevelExceeded = (PostInfo != null) && (PostInfo.PostLevel >= ForumPostInfoProvider.MaxPostLevel); // Edit lnkEdit.Text = GetString("general.edit"); lnkEdit.ToolTip = GetString("ForumPost_View.EditToolTip"); lnkEdit.NavigateUrl = "#"; lnkEdit.Attributes.Add("onclick", "EditPost(" + PostID.ToString() + "); return false;"); lnkEdit.Style.Add("color", "#000000;"); lnkEditImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/edit.png"); lnkEditImg.ToolTip = GetString("ForumPost_View.EditToolTip"); lnkEditImg.NavigateUrl = "#"; lnkEditImg.Attributes.Add("onclick", "EditPost(" + PostID.ToString() + "); return false;"); // Delete lnkDelete.Text = GetString("general.delete"); lnkDelete.ToolTip = GetString("ForumPost_View.DeleteToolTip"); lnkDelete.NavigateUrl = "#"; lnkDelete.Attributes.Add("onclick", "DeletePost(" + PostID.ToString() + "); return false;"); lnkDelete.Style.Add("color", "#000000;"); lnkDeleteImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/delete.png"); lnkDeleteImg.ToolTip = GetString("ForumPost_View.DeleteToolTip"); lnkDeleteImg.NavigateUrl = "#"; lnkDeleteImg.Attributes.Add("onclick", "DeletePost(" + PostID.ToString() + "); return false;"); // Reply lnkReply.Text = GetString("ForumPost_View.IconReply"); lnkReply.ToolTip = GetString("ForumPost_View.ReplyToolTip"); lnkReply.NavigateUrl = "#"; lnkReply.Style.Add("color", "#000000;"); if (maxLevelExceeded) { lnkReply.Enabled = false; } else { lnkReply.Attributes.Add("onclick", "ReplyToPost(" + PostID.ToString() + "); return false;"); } lnkReplyImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/reply.png"); lnkReplyImg.ToolTip = GetString("ForumPost_View.ReplyToolTip"); lnkReplyImg.NavigateUrl = "#"; if (maxLevelExceeded) { lnkReplyImg.Enabled = false; } else { lnkReplyImg.Attributes.Add("onclick", "ReplyToPost(" + PostID.ToString() + "); return false;"); } // Stick thread if (PostInfo.PostLevel == 0) { ThreadMove1.SetValue("AdminMode", true); ThreadMove1.SetValue("SelectedThreadID", PostInfo.PostId); lnkMoveThread.Text = GetString("ForumPost_View.IconMove"); lnkMoveThread.ToolTip = GetString("ForumPost_View.MoveToolTip"); lnkMoveThread.NavigateUrl = "#"; lnkMoveThread.Attributes.Add("onclick", ControlsHelper.GetPostBackEventReference(btnMoveThread, null) + "; return false;"); lnkMoveThread.Style.Add("color", "#000000;"); lnkMoveThreadImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/move.png"); lnkMoveThreadImg.ToolTip = GetString("ForumPost_View.MoveToolTip"); lnkMoveThreadImg.NavigateUrl = "#"; lnkMoveThreadImg.Attributes.Add("onclick", ControlsHelper.GetPostBackEventReference(btnMoveThread, null) + "; return false;"); plcSplit.Visible = false; if (PostInfo.PostStickOrder > 0) { lnkStick.Text = GetString("ForumPost_View.IconUnStick"); lnkStick.ToolTip = GetString("ForumPost_View.UnStickToolTip"); lnkStickImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/unstick.png"); lnkStickImg.ToolTip = GetString("ForumPost_View.UnStickToolTip"); } else { lnkStick.Text = GetString("ForumPost_View.IconStick"); lnkStick.ToolTip = GetString("ForumPost_View.StickToolTip"); lnkStickImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/stick.png"); lnkStickImg.ToolTip = GetString("ForumPost_View.StickToolTip"); } lnkStick.Attributes.Add("onclick", "StickThread(" + PostID.ToString() + "); return false;"); lnkStick.Style.Add("color", "#000000;"); lnkStick.NavigateUrl = "#"; lnkStickImg.NavigateUrl = "#"; lnkStickImg.Attributes.Add("onclick", "StickThread(" + PostID.ToString() + "); return false;"); // Lock thread if (PostInfo.PostIsLocked) { lnkLock.Text = GetString("ForumPost_View.IconUnLock"); lnkLock.ToolTip = GetString("ForumPost_View.UnLockToolTip"); lnkLockImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/unstick.png"); lnkLockImg.ToolTip = GetString("ForumPost_View.UnLockToolTip"); } else { lnkLock.Text = GetString("ForumPost_View.IconLock"); lnkLock.ToolTip = GetString("ForumPost_View.LockToolTip"); lnkLockImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/lock.png"); lnkLockImg.ToolTip = GetString("ForumPost_View.LockToolTip"); } lnkLock.Attributes.Add("onclick", "LockThread(" + PostID.ToString() + "); return false;"); lnkLock.Style.Add("color", "#000000;"); lnkLock.NavigateUrl = "#"; lnkLockImg.NavigateUrl = "#"; lnkLockImg.Attributes.Add("onclick", "LockThread(" + PostID.ToString() + "); return false;"); } else { // Hide lock and stick for posts which are not root of thread plcRoot.Visible = false; // Split lnkSplit.Text = GetString("ForumPost_View.IconSplit"); lnkSplit.ToolTip = GetString("ForumPost_View.SplitToolTip"); lnkSplit.NavigateUrl = "#"; lnkSplit.Attributes.Add("onclick", "ForumSplitConfirm();return false;"); lnkSplit.Style.Add("color", "#000000;"); lnkSplitImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/split.png"); lnkSplitImg.ToolTip = GetString("ForumPost_View.SplitToolTip"); lnkSplitImg.NavigateUrl = "#"; lnkSplitImg.Attributes.Add("onclick", "SplitThread(" + PostID.ToString() + "); return false;"); //Register split confirmation script ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "ForumSplitConfirm", ScriptHelper.GetScript(" function ForumSplitConfirm() {\n" + "if (confirm(" + ScriptHelper.GetString(GetString("ForumPost_View.SplitConfirmation")) + ")) { \n ;SplitThread(" + PostID.ToString() + "); return false; \n}else{ return false; }\n}" )); } if (!PostInfo.PostApproved) { lnkApproveReject.Text = GetString("general.approve"); lnkApproveReject.ToolTip = GetString("ForumPost_View.ApproveToolTip"); lnkApproveRejectImg.ToolTip = GetString("ForumPost_View.ApproveToolTip"); lnkApproveRejectImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/approve.png"); } else { lnkApproveReject.Text = GetString("general.reject"); lnkApproveReject.ToolTip = GetString("ForumPost_View.RejectToolTip"); lnkApproveRejectImg.ToolTip = GetString("ForumPost_View.RejectToolTip"); lnkApproveRejectImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/reject.png"); } lnkApproveReject.NavigateUrl = "#"; lnkApproveRejectImg.NavigateUrl = "#"; lnkApproveReject.Attributes.Add("onclick", "ApprovePost(" + PostID.ToString() + "); return false;"); lnkApproveReject.Style.Add("color", "#000000;"); lnkApproveRejectImg.Attributes.Add("onclick", "ApprovePost(" + PostID.ToString() + "); return false;"); if (!PostInfo.PostApproved) { lnkApproveSub.Text = GetString("ForumPost_View.IconApproveSubTree"); lnkApproveSub.ToolTip = GetString("ForumPost_View.ApproveSubTreeToolTip"); lnkApproveSub.NavigateUrl = "#"; lnkApproveSub.Attributes.Add("onclick", "ApproveSubTree(" + PostID.ToString() + "); return false;"); lnkApproveSub.Style.Add("color", "#000000;"); lnkApproveSubImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/approve.png"); lnkApproveSubImg.ToolTip = GetString("ForumPost_View.ApproveSubTreeToolTip"); lnkApproveSubImg.NavigateUrl = "#"; lnkApproveSubImg.Attributes.Add("onclick", "ApproveSubTree(" + PostID.ToString() + "); return false;"); } else { lnkApproveSub.Text = GetString("ForumPost_View.IconRejectSubTree"); lnkApproveSub.ToolTip = GetString("ForumPost_View.RejectSubTreeToolTip"); lnkApproveSub.NavigateUrl = "#"; lnkApproveSub.Attributes.Add("onclick", "RejectSubTree(" + PostID.ToString() + "); return false;"); lnkApproveSub.Style.Add("color", "#000000;"); lnkApproveSubImg.ImageUrl = GetImageUrl("CMSModules/CMS_Forums/reject.png"); lnkApproveSubImg.ToolTip = GetString("ForumPost_View.RejectSubTreeToolTip"); lnkApproveSubImg.NavigateUrl = "#"; lnkApproveSubImg.Attributes.Add("onclick", "RejectSubTree(" + PostID.ToString() + "); return false;"); } }