📄 forummoderatorsadmin.cs
字号:
// 说明:版主管理
// 作者:宝玉
// 日期:2005-06-14
using System;using System.Collections;using System.Web;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using CommunityServer.Components;using CommunityServer.Controls;
using CommunityServer.Discussions.Components;
namespace CommunityServer.Discussions.Controls
{
/// <summary>
/// 斑竹管理
/// </summary>
public class ForumModeratorsAdmin : TemplatedWebControl
{
int forumID = -1;
int groupID = -1;
CSContext context;
Group group = null;
Forum forum = null;
ArrayList moderators;
#region Child Controls
HyperLink hlForumName;
HyperLink hlGroupName;
HtmlTableRow trGroup;
HtmlTableRow trForum;
Repeater forumModeratorRepeater;
#endregion
public ForumModeratorsAdmin()
{
}
protected override void OnLoad(EventArgs e)
{
if ( !Page.IsPostBack )
{
this.DataBind();
}
base.OnLoad (e);
}
protected override void AttachChildControls()
{
hlForumName = (HyperLink)FindControl( "hlForumName" );
hlGroupName = (HyperLink)FindControl( "hlGroupName" );
trGroup = (HtmlTableRow)FindControl( "trGroup" );
trForum = (HtmlTableRow)FindControl( "trForum" );
forumModeratorRepeater = (Repeater)FindControl( "Forummoderatorrepeater" );
forumModeratorRepeater.ItemCreated += new RepeaterItemEventHandler(ForumModeratorRepeater_ItemCreated);
forumModeratorRepeater.ItemCommand += new RepeaterCommandEventHandler(ForumModeratorRepeater_ItemCommand);
}
public override void DataBind()
{
base.DataBind();
context = CSContext.Current;
forumID = context.ForumID;
groupID = context.ForumGroupID;
if (forumID > 0)
{
forum = Forums.GetForum( forumID, false, true, CSContext.Current.UserID );
if (forum != null)
{
hlForumName.Text = forum.Name;
hlForumName.NavigateUrl = Globals.GetSiteUrls().AdminForumEdit(forum.SectionID);
trGroup.Visible = false;
}
}
else
{
group = ForumGroups.GetForumGroup( groupID, false, true, CSContext.Current.UserID );
if (group != null)
{
hlGroupName.Text = group.Name;
hlGroupName.NavigateUrl = Globals.GetSiteUrls().AdminForumGroup(group.GroupID);
trForum.Visible = false;
}
}
RepeaterDataBind();
}
void RepeaterDataBind()
{
moderators = Moderate.GetForumModerators(groupID, forumID);
if ( moderators != null)
{
forumModeratorRepeater.DataSource = moderators;
}
forumModeratorRepeater.DataBind();
}
private void ForumModeratorRepeater_ItemCreated(object sender, RepeaterItemEventArgs e)
{
if (e.Item.FindControl("RemoveModerator") != null)
{
Button btnRemoveModerator = (Button) e.Item.FindControl("RemoveModerator");
btnRemoveModerator.DataBinding += new EventHandler(this.RemoveModerator_DataBinding);
}
if (e.Item.FindControl("ModeratorName") != null)
{
HyperLink moderatorName = (HyperLink) e.Item.FindControl("ModeratorName");
moderatorName.DataBinding += new EventHandler(moderatorName_DataBinding);
}
if(e.Item.FindControl("AddModerator") != null)
{
Button AddModerator = (Button) e.Item.FindControl("AddModerator");
AddModerator.DataBinding += new EventHandler(AddModerator_DataBinding);
}
if ((e.Item.ItemType != ListItemType.Item) && (e.Item.ItemType != ListItemType.AlternatingItem))
{
return;
}
}
private void RemoveModerator_DataBinding(object sender, EventArgs e)
{
Button btnRemoveModerator = (Button) sender;
btnRemoveModerator.CommandName = "Remove";
RepeaterItem item = btnRemoveModerator.NamingContainer as RepeaterItem;
Moderator moderator = item.DataItem as Moderator;
btnRemoveModerator.CommandArgument = forumID.ToString() + "," + groupID.ToString() + "," + moderator.UserID.ToString();
btnRemoveModerator.Text = ResourceManager.GetString("Delete");
}
private void moderatorName_DataBinding(object sender, EventArgs e)
{
HyperLink moderatorName = (HyperLink) sender;
RepeaterItem item = moderatorName.NamingContainer as RepeaterItem;
Moderator moderator = item.DataItem as Moderator;
moderatorName.Text = moderator.Nickname + "(" + moderator.Username + ")";
moderatorName.NavigateUrl = Globals.GetSiteUrls().AdminUserEdit(moderator.UserID);
}
private void AddModerator_DataBinding(object sender, EventArgs e)
{
Button btnAddModerator = (Button) sender;
btnAddModerator.Text = ResourceManager.GetString("Add");
btnAddModerator.CommandName = "Add";
RepeaterItem item = btnAddModerator.NamingContainer as RepeaterItem;
btnAddModerator.CommandArgument = forumID.ToString() + "," + groupID.ToString() + ",0";
}
private void ForumModeratorRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
Button button = e.CommandSource as Button;
int forumID, groupID, userID;
string username;
if (button != null)
{
string commandName;
if ((commandName = e.CommandName) == null)
{
return;
}
commandName = string.IsInterned(commandName);
char[] chArray = new char[1] { ',' } ;
string[] textArray = button.CommandArgument.Split(chArray);
if (textArray.Length == 3)
{
forumID = Convert.ToInt32(textArray[0]);
groupID = Convert.ToInt32(textArray[1]);
userID = Convert.ToInt32(textArray[2]);
}
else
{
return;
}
if (commandName != "Add")
{
if (commandName == "Remove")
{
Moderate.RemoveModeratedForumForUser(userID, groupID, forumID);
}
}
else
{
TextBox txtModeratorUsername = (TextBox) button.NamingContainer.FindControl("txtModeratorUsername");
username = txtModeratorUsername.Text.Trim();
Moderate.AddModeratedForumForUser(username,groupID,forumID);
}
HttpContext.Current.Response.Redirect(HttpContext.Current.Request.RawUrl);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -