⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forummoderatorsadmin.cs

📁 本系统是在asp版《在线文件管理器》的基础上设计制作
💻 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 + -