protected void DataGrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e) { #region 翻页 SpecialUserList.LoadCurrentPageIndex(e.NewPageIndex); DataGridBind(""); BindTopicType(); this.TabControl1.SelectedIndex = 3; //base.CallBaseRegisterStartupScript("PAGE", "<script>Tab_OnSelectClientClick(document.getElementById('TabControl1:tabPage34_H2'),'TabControl1:tabPage34');</script>"); #endregion }
public void DelButton_Click(object sender, EventArgs e) { #region 除特殊用户 int row = 0; ArrayList al = new ArrayList(forumInfo.Permuserlist.Split('|')); foreach (object o in SpecialUserList.GetKeyIDArray()) { if (SpecialUserList.GetCheckBoxValue(row, "userid")) { string uid = o.ToString(); foreach (string user in forumInfo.Permuserlist.Split('|')) { if (user.IndexOf("," + uid + ",") > 0) { al.Remove(user); break; } } } row++; } string result = ""; foreach (string user in al) { result += user + "|"; } if (result != "") { result = result.Substring(0, result.Length - 1); } forumInfo.Permuserlist = result; AdminForums.UpdateForumInfo(forumInfo); if (SpecialUserList.Items.Count == 1 && SpecialUserList.CurrentPageIndex > 0) { SpecialUserList.CurrentPageIndex--; } DataGridBind(""); BindTopicType(); this.TabControl1.SelectedIndex = 3; #endregion }
private string GetPermuserlist() { #region 获取特殊用户 int row = 0; string result = forumInfo.Permuserlist; if (result == null) { return(""); } foreach (object o in SpecialUserList.GetKeyIDArray()) { string uid = o.ToString(); int power = 0; if (SpecialUserList.GetCheckBoxValue(row, "viewbyuser")) { power |= (int)Discuz.Entity.ForumSpecialUserPower.ViewByUser; } if (SpecialUserList.GetCheckBoxValue(row, "postbyuser")) { power |= (int)Discuz.Entity.ForumSpecialUserPower.PostByUser; } if (SpecialUserList.GetCheckBoxValue(row, "replybyuser")) { power |= (int)Discuz.Entity.ForumSpecialUserPower.ReplyByUser; } if (SpecialUserList.GetCheckBoxValue(row, "getattachbyuser")) { power |= (int)Discuz.Entity.ForumSpecialUserPower.DownloadAttachByUser; } if (SpecialUserList.GetCheckBoxValue(row, "postattachbyuser")) { power |= (int)Discuz.Entity.ForumSpecialUserPower.PostAttachByUser; } string[] userpowerlist = forumInfo.Permuserlist.Split('|'); bool find = false; foreach (string u in userpowerlist) { if (u.IndexOf("," + uid + ",") > 0) { result = result.Replace(u, u.Split(',')[0] + "," + uid + "," + power); find = true; break; } } if (!find) { ShortUserInfo shortUserInfo = Users.GetShortUserInfo(Convert.ToInt32(uid)); result = ((shortUserInfo != null) ? shortUserInfo.Username.Trim() : "") + "," + uid + "," + power + "|" + result; } row++; } if (result == "") { return(""); } else { if (result.Substring(result.Length - 1, 1) == "|") { return(result.Substring(0, result.Length - 1)); } else { return(result); } } #endregion }
private void DataGridBind(string userList) { #region 特殊用户设置 SpecialUserList.TableHeaderName = "特殊用户权限设置"; string Permuserlist = forumInfo.Permuserlist; DataTable dt = new DataTable(); dt.Columns.Add("id", System.Type.GetType("System.Int32")); dt.Columns.Add("uid", System.Type.GetType("System.Int32")); dt.Columns.Add("name", System.Type.GetType("System.String")); dt.Columns.Add("viewbyuser", System.Type.GetType("System.Boolean")); dt.Columns.Add("postbyuser", System.Type.GetType("System.Boolean")); dt.Columns.Add("replybyuser", System.Type.GetType("System.Boolean")); dt.Columns.Add("getattachbyuser", System.Type.GetType("System.Boolean")); dt.Columns.Add("postattachbyuser", System.Type.GetType("System.Boolean")); foreach (string user in userList.Split(',')) { if (user.Trim() == "") { continue; } int uid = Discuz.Forum.Users.GetUserId(user); if (uid != -1) { DataRow dr = dt.NewRow(); dr["id"] = dt.Rows.Count + 1; dr["uid"] = uid.ToString(); dr["name"] = user; dr["viewbyuser"] = false; dr["postbyuser"] = false; dr["replybyuser"] = false; dr["getattachbyuser"] = false; dr["postattachbyuser"] = false; dt.Rows.Add(dr); } } if (Permuserlist != null) { foreach (string p in Permuserlist.Split('|')) { if (("," + userList + ",").IndexOf("," + p.Split(',')[0] + ",") >= 0) { continue; } int power = Convert.ToInt32(p.Split(',')[2]); DataRow dr = dt.NewRow(); dr["id"] = dt.Rows.Count + 1; dr["uid"] = p.Split(',')[1]; dr["name"] = p.Split(',')[0]; dr["viewbyuser"] = power & (int)Discuz.Entity.ForumSpecialUserPower.ViewByUser; dr["postbyuser"] = power & (int)Discuz.Entity.ForumSpecialUserPower.PostByUser; dr["replybyuser"] = power & (int)Discuz.Entity.ForumSpecialUserPower.ReplyByUser; dr["getattachbyuser"] = power & (int)Discuz.Entity.ForumSpecialUserPower.DownloadAttachByUser; dr["postattachbyuser"] = power & (int)Discuz.Entity.ForumSpecialUserPower.PostAttachByUser; dt.Rows.Add(dr); } } SpecialUserList.DataSource = dt; SpecialUserList.DataBind(); #endregion }