protected void Page_Load(object sender, EventArgs e) { if (!this.Page.IsPostBack) { int queryString = RequestHelper.GetQueryString <int>("ID"); if (queryString != -2147483648) { base.CheckAdminPower("ReadAdminGroup", PowerCheckType.Single); AdminGroupInfo info = AdminGroupBLL.ReadAdminGroupCache(queryString); this.Name.Text = info.Name; this.Note.Text = info.Note; this.State.Text = info.State.ToString(); this.power = info.Power; } } XmlNode node = new XmlHelper(ServerHelper.MapPath("/Config/AdminPower.Config")).ReadNode("Config"); foreach (XmlNode node2 in node.ChildNodes) { PowerInfo item = new PowerInfo(); item.Text = node2.Attributes["Text"].Value; item.Key = node2.Attributes["Key"].Value; item.XML = node2.InnerXml; this.channelPowerList.Add(item); } }
/// <summary> /// 创建一个新的管理组信息 /// </summary> /// <param name="__admingroupsInfo">要添加的管理组信息</param> /// <returns>更改记录数</returns> public static int CreateAdminGroupInfo(AdminGroupInfo admingroupsInfo) { Discuz.Cache.DNTCache.GetCacheService().RemoveObject("/Forum/UserGroupList"); Discuz.Cache.DNTCache.GetCacheService().RemoveObject("/Forum/AdminGroupList"); return(Discuz.Data.AdminGroups.CreateAdminGroupInfo(admingroupsInfo)); }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int groupID = RequestHelper.GetQueryString <int>("ID"); if (groupID != int.MinValue) { CheckAdminPower("ReadAdminGroup", PowerCheckType.Single); AdminGroupInfo adminGroup = AdminGroupBLL.Read(groupID); Name.Text = adminGroup.Name; Note.Text = adminGroup.Note; power = adminGroup.Power; } if (groupID == 1) { //如果是超级管理员组则不能修改权限 //SubmitButton.Visible = false; } } //绑定权限列表 XmlHelper xh = new XmlHelper(ServerHelper.MapPath("~/Config/AdminPower.Config")); XmlNode xn = xh.ReadNode("Config"); foreach (XmlNode temp in xn.ChildNodes) { PowerInfo power = new PowerInfo(); power.Text = temp.Attributes["Text"].Value; power.Key = temp.Attributes["Key"].Value; power.XML = temp.InnerXml; channelPowerList.Add(power); } }
protected override void ShowPage() { pagetitle = "查看用户信息"; if (usergroupinfo.Allowviewpro != 1 && userid != id) { AddErrLine(string.Format("您当前的身份 \"{0}\" 没有查看用户资料的权限", usergroupinfo.Grouptitle)); if (userid < 1) { needlogin = true; } return; } if (Utils.StrIsNullOrEmpty(DNTRequest.GetString("username")) && Utils.StrIsNullOrEmpty(DNTRequest.GetString("userid"))) { AddErrLine("错误的URL链接"); return; } if (id == -1) { id = Users.GetUserId(Utils.UrlDecode(DNTRequest.GetString("username"))); } if (id == -1) { AddErrLine("该用户不存在"); return; } user = Users.GetUserInfo(id); if (user == null) { AddErrLine("该用户不存在"); return; } //用户设定Email保密时,清空用户的Email属性以避免被显示 if (user.Showemail != 1 && id != userid) { user.Email = ""; } //获取积分机制和用户组信息,底层有缓存 score = Scoresets.GetValidScoreName(); group = UserGroups.GetUserGroupInfo(user.Groupid); admininfo = AdminUserGroups.AdminGetAdminGroupInfo(usergroupid); score1 = ((decimal)user.Extcredits1).ToString(); score2 = ((decimal)user.Extcredits2).ToString(); score3 = ((decimal)user.Extcredits3).ToString(); score4 = ((decimal)user.Extcredits4).ToString(); score5 = ((decimal)user.Extcredits5).ToString(); score6 = ((decimal)user.Extcredits6).ToString(); score7 = ((decimal)user.Extcredits7).ToString(); score8 = ((decimal)user.Extcredits8).ToString(); }
public ActionResult Edit(AdminGroupModel model, int adminGid = -1) { if (adminGid < 3) { return(PromptView("内置管理员组不能修改")); } AdminGroupInfo adminGroupInfo = AdminGroups.GetAdminGroupById(adminGid); if (adminGroupInfo == null) { return(PromptView("管理员组不存在")); } int adminGid2 = AdminGroups.GetAdminGroupIdByTitle(model.AdminGroupTitle); if (adminGid2 > 0 && adminGid2 != adminGid) { ModelState.AddModelError("AdminGroupTitle", "名称已经存在"); } if (ModelState.IsValid) { adminGroupInfo.Title = model.AdminGroupTitle; adminGroupInfo.ActionList = CommonHelper.StringArrayToString(model.ActionList).ToLower(); AdminGroups.UpdateAdminGroup(adminGroupInfo); AddAdminOperateLog("修改管理员组", "修改管理员组,管理员组ID为:" + adminGid); return(PromptView("管理员组修改成功")); } Load(); return(View(model)); }
protected void SubmitButton_Click(object sender, EventArgs E) { AdminGroupInfo adminGroup = new AdminGroupInfo(); adminGroup.Id = RequestHelper.GetQueryString <int>("ID"); adminGroup.Name = Name.Text; adminGroup.Power = RequestHelper.GetForm <string>("Rights").Replace(",", "|"); adminGroup.Note = Note.Text; if (adminGroup.Power != string.Empty) { adminGroup.Power = "|" + adminGroup.Power + "|"; } string alertMessage = ShopLanguage.ReadLanguage("UpdateOK"); if (adminGroup.Id == int.MinValue) { CheckAdminPower("AddAdminGroup", PowerCheckType.Single); int id = AdminGroupBLL.Add(adminGroup); AdminLogBLL.Add(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("AdminGroup"), id); } else { CheckAdminPower("UpdateAdminGroup", PowerCheckType.Single); AdminGroupInfo tmpAdminGroup = AdminGroupBLL.Read(adminGroup.Id); adminGroup.AdminCount = tmpAdminGroup.AdminCount; adminGroup.AddDate = tmpAdminGroup.AddDate; adminGroup.IP = tmpAdminGroup.IP; AdminGroupBLL.Update(adminGroup); AdminLogBLL.Add(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("AdminGroup"), adminGroup.Id); alertMessage = ShopLanguage.ReadLanguage("UpdateOK"); } ScriptHelper.Alert(alertMessage, RequestHelper.RawUrl); }
protected void SubmitButton_Click(object sender, EventArgs E) { AdminGroupInfo adminGroup = new AdminGroupInfo(); adminGroup.ID = RequestHelper.GetQueryString <int>("ID"); adminGroup.Name = this.Name.Text; adminGroup.Note = this.Note.Text; adminGroup.State = int.Parse(this.State.Text); adminGroup.Power = RequestHelper.GetForm <string>("Rights").Replace(",", "|"); if (adminGroup.Power != string.Empty) { adminGroup.Power = "|" + adminGroup.Power + "|"; } string alertMessage = ShopLanguage.ReadLanguage("UpdateOK"); if (adminGroup.ID == -2147483648) { base.CheckAdminPower("AddAdminGroup", PowerCheckType.Single); int id = AdminGroupBLL.AddAdminGroup(adminGroup); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("AddRecord"), ShopLanguage.ReadLanguage("AdminGroup"), id); } else { base.CheckAdminPower("UpdateAdminGroup", PowerCheckType.Single); AdminGroupBLL.UpdateAdminGroup(adminGroup); AdminLogBLL.AddAdminLog(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("AdminGroup"), adminGroup.ID); alertMessage = ShopLanguage.ReadLanguage("UpdateOK"); } AdminBasePage.Alert(alertMessage, RequestHelper.RawUrl); }
/// <summary> /// 得到管理组字段信息 /// </summary> /// <param name="groupid"></param> /// <returns></returns> public static AdminGroupInfo AdminGetAdminGroupInfo(int groupid) { DataTable dt = DatabaseProvider.GetInstance().GetAdminGroup(groupid); if (dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; AdminGroupInfo __info; __info = new AdminGroupInfo(); __info.Admingid = short.Parse(dr["admingid"].ToString()); __info.Alloweditpost = byte.Parse(dr["alloweditpost"].ToString()); __info.Alloweditpoll = byte.Parse(dr["alloweditpoll"].ToString()); __info.Allowstickthread = byte.Parse(dr["allowstickthread"].ToString()); __info.Allowmodpost = byte.Parse(dr["allowmodpost"].ToString()); __info.Allowdelpost = byte.Parse(dr["allowdelpost"].ToString()); __info.Allowmassprune = byte.Parse(dr["allowmassprune"].ToString()); __info.Allowrefund = byte.Parse(dr["allowrefund"].ToString()); __info.Allowcensorword = byte.Parse(dr["allowcensorword"].ToString()); __info.Allowviewip = byte.Parse(dr["allowviewip"].ToString()); __info.Allowbanip = byte.Parse(dr["allowbanip"].ToString()); __info.Allowedituser = byte.Parse(dr["allowedituser"].ToString()); __info.Allowmoduser = byte.Parse(dr["allowmoduser"].ToString()); __info.Allowbanuser = byte.Parse(dr["allowbanuser"].ToString()); __info.Allowpostannounce = byte.Parse(dr["allowpostannounce"].ToString()); __info.Allowviewlog = byte.Parse(dr["allowviewlog"].ToString()); __info.Disablepostctrl = byte.Parse(dr["disablepostctrl"].ToString()); __info.Allowviewrealname = byte.Parse(dr["allowviewrealname"].ToString()); return(__info); } return(null); }
/// <summary> /// 常规项验证 /// </summary> /// <param name="admininfo"></param> /// <param name="postmessage"></param> private void NormalValidate(AdminGroupInfo admininfo, string postmessage, ShortUserInfo user) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } else if (posttitle.Length > 60) { AddErrLine("标题最大长度为60个字符,当前为 " + posttitle.Length + " 个字符"); } if (Utils.StrIsNullOrEmpty(postmessage.Replace(" ", ""))) { AddErrLine("内容不能为空"); } if (admininfo != null && admininfo.Disablepostctrl != 1) { if (postmessage.Length < config.Minpostsize) { AddErrLine("您发表的内容过少, 系统设置要求帖子内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字"); } else if (postmessage.Length > config.Maxpostsize) { AddErrLine("您发表的内容过多, 系统设置要求帖子内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字"); } } if (topic.Special == 4 && DNTRequest.GetInt("debateopinion", 0) == 0) { AddErrLine("请选择您在辩论中的观点"); } if (topic.Special == 4) { DebateInfo debateexpand = Debates.GetDebateTopic(topic.Tid); if (debateexpand.Terminaltime < DateTime.Now) { AddErrLine("此辩论主题已经到期"); } } //新用户广告强力屏蔽检查 if ((config.Disablepostad == 1) && useradminid < 1) //如果开启新用户广告强力屏蔽检查或是游客 { if ((config.Disablepostadpostcount != 0 && user.Posts <= config.Disablepostadpostcount) || (config.Disablepostadregminute != 0 && DateTime.Now.AddMinutes(-config.Disablepostadregminute) <= Convert.ToDateTime(user.Joindate))) { foreach (string regular in config.Disablepostadregular.Replace("\r", "").Split('\n')) { if (Posts.IsAD(regular, posttitle, postmessage)) { AddErrLine("发帖失败,内容中有不符合新用户强力广告屏蔽规则的字符,请检查标题和内容,如有疑问请与管理员联系"); } } } } }
/// <summary> /// 更新管理员组 /// </summary> public static void UpdateAdminGroup(AdminGroupInfo adminGroupInfo) { adminGroupInfo.ActionList = adminGroupInfo.ActionList.ToLower(); BrnShop.Data.AdminGroups.UpdateAdminGroup(adminGroupInfo); BrnShop.Core.BSPCache.Remove(CacheKeys.SHOP_ADMINGROUP_ACTIONHASHSET + adminGroupInfo.AdminGid); BrnShop.Core.BSPCache.Remove(CacheKeys.SHOP_ADMINGROUP_LIST); WriteAdminNavMenuCache(adminGroupInfo); }
public static int SetAdminGroupInfo(AdminGroupInfo admingroupsInfo, int userGroupId) { if (AdminGroups.GetAdminGroupInfo(userGroupId) != null) { return(Discuz.Data.AdminGroups.SetAdminGroupInfo(admingroupsInfo)); } return(AdminGroups.CreateAdminGroupInfo(admingroupsInfo)); }
private bool CheckPermission(PostInfo post, int opinion) { ismoder = Moderators.IsModer(useradminid, userid, forumid); if (userid == post.Posterid && !ismoder) { if (post.Layer < 1 && topic.Replies > 0) { AddErrLine("已经被回复过的主帖不能被删除"); return(false); } if (Utils.StrDateDiffMinutes(post.Postdatetime, config.Edittimelimit) > 0 || post.Posterid != userid)//不是作者或者超过编辑时限 { AddErrLine("已经超过了编辑帖子时限,不能删除帖子"); return(false); } else { allowdelpost = true; } } else { AdminGroupInfo admininfo = AdminGroups.GetAdminGroupInfo(useradminid); if (admininfo != null) { // 如果所属管理组有删帖的管理权限 if (admininfo.Allowdelpost == 1) { // 如果是管理员或总版主 if (Moderators.IsModer(useradminid, userid, forumid)) { forumpath = Request.ApplicationPath + forumpath; forumpath = forumpath.Replace("//", "/"); allowdelpost = true; if (post.Layer == 0)//管理者跳转至删除主题 { HttpContext.Current.Response.Redirect(string.Format("{0}topicadmin.aspx?action=moderate&operat=del&forumid={1}&topicid={2}", forumpath, post.Fid, post.Tid)); return(false); } else//跳转至批量删帖 { HttpContext.Current.Response.Redirect(string.Format("{0}topicadmin.aspx?action=moderate&operat=delposts&forumid={1}&topicid={2}&postid={3}&opinion={4}", forumpath, post.Fid, post.Tid, post.Pid, opinion)); return(false); } } } } else { allowdelpost = false; } } return(true); }
public void SetGroupRights(string groupid) { #region 设置组权限相关信息 UserGroupInfo userGroupInfo = AdminUserGroups.AdminGetUserGroupInfo(Convert.ToInt32(groupid)); creditshigher.Text = userGroupInfo.Creditshigher.ToString(); creditslower.Text = userGroupInfo.Creditslower.ToString(); stars.Text = userGroupInfo.Stars.ToString(); color.Text = userGroupInfo.Color; groupavatar.Text = userGroupInfo.Groupavatar; readaccess.Text = userGroupInfo.Readaccess.ToString(); maxprice.Text = userGroupInfo.Maxprice.ToString(); maxpmnum.Text = userGroupInfo.Maxpmnum.ToString(); maxsigsize.Text = userGroupInfo.Maxsigsize.ToString(); maxattachsize.Text = userGroupInfo.Maxattachsize.ToString(); maxsizeperday.Text = userGroupInfo.Maxsizeperday.ToString(); //maxfriendscount.Text = userGroupInfo.MaxFriendsCount.ToString(); radminid.SelectedValue = userGroupInfo.Radminid.ToString(); DataTable attachmentType = Attachments.GetAttachmentType(); attachextensions.AddTableData(attachmentType, userGroupInfo.Attachextensions.ToString()); //设置用户权限组初始化信息 usergrouppowersetting.Bind(userGroupInfo); AdminGroupInfo adminGroupInfo = AdminUserGroups.AdminGetAdminGroupInfo(Convert.ToInt32(groupid)); if (adminGroupInfo != null) { admingroupright.Items[0].Selected = adminGroupInfo.Alloweditpost == 1; admingroupright.Items[1].Selected = adminGroupInfo.Alloweditpoll == 1; admingroupright.Items[2].Selected = adminGroupInfo.Allowdelpost == 1; admingroupright.Items[3].Selected = adminGroupInfo.Allowmassprune == 1; admingroupright.Items[4].Selected = adminGroupInfo.Allowviewip == 1; admingroupright.Items[5].Selected = adminGroupInfo.Allowedituser == 1; admingroupright.Items[6].Selected = adminGroupInfo.Allowviewlog == 1; admingroupright.Items[7].Selected = adminGroupInfo.Disablepostctrl == 1; admingroupright.Items[8].Selected = adminGroupInfo.Allowviewrealname == 1; admingroupright.Items[9].Selected = adminGroupInfo.Allowbanuser == 1; admingroupright.Items[10].Selected = adminGroupInfo.Allowbanip == 1; admingroupright.Items[11].Selected = adminGroupInfo.Allowmodpost == 1; admingroupright.Items[12].Selected = adminGroupInfo.Allowpostannounce == 1; GeneralConfigInfo configInfo = GeneralConfigs.GetConfig(); admingroupright.Items[13].Selected = ("," + configInfo.Reportusergroup + ",").IndexOf("," + groupid + ",") != -1; //是否允许接收举报信息 admingroupright.Items[14].Selected = ("," + configInfo.Photomangegroups + ",").IndexOf("," + groupid + ",") != -1; //是否允许管理图片评论 } if (radminid.SelectedValue == "1") { allowstickthread.Enabled = false; allowstickthread.SelectedValue = "3"; } else { allowstickthread.Enabled = true; } #endregion }
public void SetGroupRights(string groupid) { #region 设置组权限相关信息 UserGroupInfo __usergroupinfo = AdminUserGroups.AdminGetUserGroupInfo(Convert.ToInt32(groupid)); creditshigher.Text = __usergroupinfo.Creditshigher.ToString(); creditslower.Text = __usergroupinfo.Creditslower.ToString(); stars.Text = __usergroupinfo.Stars.ToString(); color.Text = __usergroupinfo.Color; groupavatar.Text = __usergroupinfo.Groupavatar; readaccess.Text = __usergroupinfo.Readaccess.ToString(); maxprice.Text = __usergroupinfo.Maxprice.ToString(); maxpmnum.Text = __usergroupinfo.Maxpmnum.ToString(); maxsigsize.Text = __usergroupinfo.Maxsigsize.ToString(); maxattachsize.Text = __usergroupinfo.Maxattachsize.ToString(); maxsizeperday.Text = __usergroupinfo.Maxsizeperday.ToString(); radminid.SelectedValue = __usergroupinfo.Radminid.ToString(); DataTable dt = DatabaseProvider.GetInstance().GetAttchType().Tables[0]; attachextensions.AddTableData(dt, __usergroupinfo.Attachextensions.ToString()); //设置用户权限组初始化信息 usergrouppowersetting.Bind(__usergroupinfo); AdminGroupInfo __admingroupinfo = AdminUserGroups.AdminGetAdminGroupInfo(Convert.ToInt32(groupid)); if (__admingroupinfo != null) { admingroupright.Items[0].Selected = __admingroupinfo.Alloweditpost == 1; admingroupright.Items[1].Selected = __admingroupinfo.Alloweditpoll == 1; admingroupright.Items[2].Selected = __admingroupinfo.Allowdelpost == 1; admingroupright.Items[3].Selected = __admingroupinfo.Allowmassprune == 1; admingroupright.Items[4].Selected = __admingroupinfo.Allowviewip == 1; admingroupright.Items[5].Selected = __admingroupinfo.Allowedituser == 1; admingroupright.Items[6].Selected = __admingroupinfo.Allowviewlog == 1; admingroupright.Items[7].Selected = __admingroupinfo.Disablepostctrl == 1; admingroupright.Items[8].Selected = __admingroupinfo.Allowviewrealname == 1; admingroupright.Items[9].Selected = __admingroupinfo.Allowbanuser == 1; admingroupright.Items[10].Selected = __admingroupinfo.Allowbanip == 1; GeneralConfigInfo configinfo = GeneralConfigs.Deserialize(Server.MapPath("../../config/general.config")); admingroupright.Items[11].Selected = ("," + configinfo.Reportusergroup + ",").IndexOf("," + groupid + ",") != -1; //是否允许接收举报信息 admingroupright.Items[12].Selected = ("," + configinfo.Photomangegroups + ",").IndexOf("," + groupid + ",") != -1; //是否允许管理图片评论 } if (radminid.SelectedValue == "1") { allowstickthread.Enabled = false; allowstickthread.SelectedValue = "3"; } else { allowstickthread.Enabled = true; } #endregion }
public int Add(AdminGroupInfo entity) { using (var conn = new SqlConnection(connectString)) { string sql = @"INSERT INTO AdminGroup( Name,Power,AdminCount,AddDate,IP,Note) VALUES(@Name,@Power,@AdminCount,@AddDate,@IP,@Note); select SCOPE_IDENTITY()"; return(conn.Query <int>(sql, entity).Single()); } }
public void Update(AdminGroupInfo entity) { using (var conn = new SqlConnection(connectString)) { string sql = @"UPDATE AdminGroup SET Name = @Name, Power = @Power, AdminCount = @AdminCount, AddDate = @AddDate, IP = @IP, Note = @Note where Id=@Id"; conn.Execute(sql, entity); } }
/// <summary> /// 创建管理员组 /// </summary> /// <param name="adminGroupInfo">管理员组信息</param> public static void CreateAdminGroup(AdminGroupInfo adminGroupInfo) { adminGroupInfo.ActionList = adminGroupInfo.ActionList.ToLower(); int adminGid = BrnShop.Data.AdminGroups.CreateAdminGroup(adminGroupInfo); if (adminGid > 0) { BrnShop.Core.BSPCache.Remove(CacheKeys.SHOP_ADMINGROUP_LIST); adminGroupInfo.AdminGid = adminGid; WriteAdminNavMenuCache(adminGroupInfo); } }
private void radminid_SelectedIndexChanged(object sender, EventArgs e) { #region 绑定关联组 //DataTable usergrouprightstable = Discuz.Data.DatabaseProvider.GetInstance().GetUserGroupInfoByGroupid(int.Parse(radminid.SelectedValue)); UserGroupInfo radminUserGroupInfo = UserGroups.GetUserGroupInfo(int.Parse(radminid.SelectedValue)); if (radminUserGroupInfo != null) { //设置管理组初始化信息 //DataRow usergrouprights = usergrouprightstable.Rows[0]; creditshigher.Text = radminUserGroupInfo.Creditslower.ToString(); creditslower.Text = radminUserGroupInfo.Creditslower.ToString(); stars.Text = radminUserGroupInfo.Stars.ToString(); color.Text = radminUserGroupInfo.Color; groupavatar.Text = radminUserGroupInfo.Groupavatar; readaccess.Text = radminUserGroupInfo.Readaccess.ToString(); maxprice.Text = radminUserGroupInfo.Maxprice.ToString(); maxpmnum.Text = radminUserGroupInfo.Maxpmnum.ToString(); maxsigsize.Text = radminUserGroupInfo.Maxsigsize.ToString(); maxattachsize.Text = radminUserGroupInfo.Maxattachsize.ToString(); maxsizeperday.Text = radminUserGroupInfo.Maxsizeperday.ToString(); DataTable dt = Attachments.GetAttachmentType(); attachextensions.AddTableData(dt, radminUserGroupInfo.Attachextensions); } AdminGroupInfo radminUserGroup = AdminGroups.GetAdminGroupInfo(int.Parse(radminid.SelectedValue)); if (radminUserGroup != null) { //设置管理权限组初始化信息 //DataRow dr = admingrouprights.Rows[0]; admingroupright.SelectedIndex = -1; admingroupright.Items[0].Selected = radminUserGroup.Alloweditpost == 1; admingroupright.Items[1].Selected = radminUserGroup.Alloweditpoll == 1; admingroupright.Items[2].Selected = radminUserGroup.Allowdelpost == 1; admingroupright.Items[3].Selected = radminUserGroup.Allowmassprune == 1; admingroupright.Items[4].Selected = radminUserGroup.Allowviewip == 1; admingroupright.Items[5].Selected = radminUserGroup.Allowedituser == 1; admingroupright.Items[6].Selected = radminUserGroup.Allowviewlog == 1; admingroupright.Items[7].Selected = radminUserGroup.Disablepostctrl == 1; admingroupright.Items[8].Selected = radminUserGroup.Allowviewrealname == 1; } if (radminid.SelectedValue == "1") { allowstickthread.Enabled = false; allowstickthread.SelectedValue = "3"; } else { allowstickthread.Enabled = true; } #endregion }
/// <summary> /// 检查是否具有版主的身份 /// </summary> public void IsModer() { // 检查是否具有版主的身份 if (useradminid != 0) { ismoder = Moderators.IsModer(useradminid, userid, forum.Fid) ? 1 : 0; admininfo = AdminGroups.GetAdminGroupInfo(usergroupid); //得到管理组信息 if (admininfo != null) { disablepostctrl = admininfo.Disablepostctrl; } } }
/// <summary> /// 设置管理组信息 /// </summary> /// <param name="__admingroupsInfo">管理组信息</param> /// <returns>更改记录数</returns> public static int SetAdminGroupInfo(AdminGroupInfo admingroupsInfo, int userGroupId) { //当已有记录时 if (AdminGroups.GetAdminGroupInfo(userGroupId) != null) { //更新相应的管理组 return(Discuz.Data.AdminGroups.SetAdminGroupInfo(admingroupsInfo)); } else { //建立相应的用户组 return(CreateAdminGroupInfo(admingroupsInfo)); } }
public static AdminGroupInfo ReadAdminGroupCache(int id) { AdminGroupInfo info = new AdminGroupInfo(); List <AdminGroupInfo> list = ReadAdminGroupCacheList(); foreach (AdminGroupInfo info2 in list) { if (info2.ID == id) { return(info2); } } return(info); }
protected override void ShowPage() { pagetitle = "查看用户信息"; if (usergroupinfo.Allowviewpro != 1) { AddErrLine(string.Format("您当前的身份 \"{0}\" 没有查看用户资料的权限", usergroupinfo.Grouptitle)); if (userid < 1) { needlogin = true; } return; } if (DNTRequest.GetString("username").Trim() == "" && DNTRequest.GetString("userid").Trim() == "") { AddErrLine("错误的URL链接"); return; } int id = DNTRequest.GetInt("userid", -1); if (id == -1) { id = Discuz.Forum.Users.GetUserID(Utils.UrlDecode(DNTRequest.GetString("username"))); } if (id == -1) { AddErrLine("该用户不存在"); return; } user = Discuz.Forum.Users.GetUserInfo(id); if (user == null) { AddErrLine("该用户不存在"); return; } //用户设定Email保密时,清空用户的Email属性以避免被显示 if (user.Showemail != 1) { user.Email = ""; } //获取金币机制和用户组信息,底层有缓存 score = Scoresets.GetValidScoreName(); group = UserGroups.GetUserGroupInfo(user.Groupid); admininfo = AdminUserGroups.AdminGetAdminGroupInfo(usergroupid); }
/// <summary> /// 获得到指定管理组信息 /// </summary> /// <returns>管理组信息</returns> public static AdminGroupInfo[] GetAdminGroupList() { DataTable dt = DatabaseProvider.GetInstance().GetAdminGroupList(); AdminGroupInfo[] admingroupArray = new AdminGroupInfo[dt.Rows.Count]; int Index = 0; foreach (DataRow dr in dt.Rows) { admingroupArray[Index] = LoadAdminGroupInfo(dr); Index++; } dt.Dispose(); return(admingroupArray); }
public void UpdateAdminGroup(AdminGroupInfo adminGroup) { SqlParameter[] pt = new SqlParameter[] { new SqlParameter("@id", SqlDbType.Int), new SqlParameter("@name", SqlDbType.NVarChar), new SqlParameter("@power", SqlDbType.NText), new SqlParameter("@note", SqlDbType.NText), new SqlParameter("@state", SqlDbType.Int) }; pt[0].Value = adminGroup.ID; pt[1].Value = adminGroup.Name; pt[2].Value = adminGroup.Power; pt[3].Value = adminGroup.Note; pt[4].Value = adminGroup.State; ShopMssqlHelper.ExecuteNonQuery(ShopMssqlHelper.TablePrefix + "UpdateAdminGroup", pt); }
public static AdminGroupInfo GetAdminGroupInfo(int admingid) { if (admingid > 0) { AdminGroupInfo[] adminGroupList = AdminGroups.GetAdminGroupList(); AdminGroupInfo[] array = adminGroupList; for (int i = 0; i < array.Length; i++) { AdminGroupInfo adminGroupInfo = array[i]; if ((int)adminGroupInfo.Admingid == admingid) { return(adminGroupInfo); } } } return(null); }
/// <summary> /// 常规项验证 /// </summary> /// <param name="admininfo"></param> /// <param name="postmessage"></param> private void NormalValidate(AdminGroupInfo admininfo, string postmessage, ShortUserInfo user) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } if (forum.Applytopictype == 1 && forum.Postbytopictype == 1 && !Utils.StrIsNullOrEmpty(topictypeselectoptions)) { if (DNTRequest.GetString("typeid").Trim().Equals("")) AddErrLine("主题类型不能为空"); //检测所选主题分类是否有效 if (!Forums.IsCurrentForumTopicType(DNTRequest.GetString("typeid").Trim(), forum.Topictypes)) AddErrLine("错误的主题类型"); } if (Utils.StrIsNullOrEmpty(DNTRequest.GetString(config.Antispamposttitle).Trim().Replace(" ", ""))) AddErrLine("标题不能为空"); else if (DNTRequest.GetString(config.Antispamposttitle).Length > 60) AddErrLine("标题最大长度为60个字符,当前为 " + DNTRequest.GetString(config.Antispamposttitle).Length + " 个字符"); if (Utils.StrIsNullOrEmpty(postmessage.Replace(" ", ""))) AddErrLine("内容不能为空"); if (admininfo != null && admininfo.Disablepostctrl != 1) { if (postmessage.Length < config.Minpostsize) AddErrLine("您发表的内容过少, 系统设置要求帖子内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字"); else if (postmessage.Length > config.Maxpostsize) AddErrLine("您发表的内容过多, 系统设置要求帖子内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字"); } //新用户广告强力屏蔽检查 if ((config.Disablepostad == 1) && useradminid < 1) //如果开启新用户广告强力屏蔽检查或是游客 { if ((config.Disablepostadpostcount != 0 && user.Posts <= config.Disablepostadpostcount) || (config.Disablepostadregminute != 0 && DateTime.Now.AddMinutes(-config.Disablepostadregminute) <= Convert.ToDateTime(user.Joindate))) { foreach (string regular in config.Disablepostadregular.Replace("\r", "").Split('\n')) { if (Posts.IsAD(regular, DNTRequest.GetString(config.Antispamposttitle), postmessage)) AddErrLine("发帖失败,内容中有不符合新用户强力广告屏蔽规则的字符,请检查标题和内容,如有疑问请与管理员联系"); } } } }
/// <summary> /// 获得管理员组操作HashSet /// </summary> /// <param name="adminGid">管理员组id</param> /// <returns></returns> public static HashSet <string> GetAdminGroupActionHashSetNoCache(int adminGid) { HashSet <string> actionHashSet = new HashSet <string>(); AdminGroupInfo adminGroupInfo = GetAdminGroupById(adminGid); if (adminGroupInfo != null) { actionHashSet = new HashSet <string>(); string[] actionList = StringHelper.SplitString(adminGroupInfo.ActionList);//将动作列表字符串分隔成动作列表 foreach (string action in actionList) { actionHashSet.Add(action); } } return(actionHashSet); }
/// <summary> /// 获得用户级管理员组列表 /// </summary> /// <returns></returns> public static AdminGroupInfo[] GetCustomerAdminGroupList() { AdminGroupInfo[] adminGroupList = GetAdminGroupList(); AdminGroupInfo[] customerAdminGroupList = new AdminGroupInfo[adminGroupList.Length - 2]; int i = 0; foreach (AdminGroupInfo adminGroupInfo in adminGroupList) { if (adminGroupInfo.AdminGid > 2) { customerAdminGroupList[i] = adminGroupInfo; i++; } } return(customerAdminGroupList); }
/// <summary> /// 获得管理员组列表 /// </summary> /// <returns></returns> public static AdminGroupInfo[] GetAdminGroupList() { DataTable dt = OWZX.Core.BSPData.RDBS.GetAdminGroupList(); AdminGroupInfo[] adminGroupList = new AdminGroupInfo[dt.Rows.Count]; int index = 0; foreach (DataRow dr in dt.Rows) { AdminGroupInfo adminGroupInfo = new AdminGroupInfo(); adminGroupInfo.AdminGid = TypeHelper.ObjectToInt(dr["admingid"]); adminGroupInfo.Title = dr["title"].ToString(); adminGroupInfo.ActionList = dr["actionlist"].ToString(); adminGroupList[index] = adminGroupInfo; index++; } return(adminGroupList); }
protected override void ShowPage() { pagetitle = "用户控制面板"; if (!IsLogin()) { return; } score1 = ((decimal)user.Extcredits1).ToString(); score2 = ((decimal)user.Extcredits2).ToString(); score3 = ((decimal)user.Extcredits3).ToString(); score4 = ((decimal)user.Extcredits4).ToString(); score5 = ((decimal)user.Extcredits5).ToString(); score6 = ((decimal)user.Extcredits6).ToString(); score7 = ((decimal)user.Extcredits7).ToString(); score8 = ((decimal)user.Extcredits8).ToString(); if (!IsErr() && useradminid > 0) { admingroupinfo = AdminGroups.GetAdminGroupInfo(usergroupid); } StringBuilder sbAttachmentTypeSelect = new StringBuilder(); if (!Utils.StrIsNullOrEmpty(usergroupinfo.Attachextensions)) { sbAttachmentTypeSelect.AppendFormat("[id] in ({0})", usergroupinfo.Attachextensions); } usergroupattachtype = Attachments.GetAttachmentTypeString(sbAttachmentTypeSelect.ToString()); newnoticecount = Notices.GetNewNoticeCountByUid(userid); //if (user.Avatar.Trim().ToLower().StartsWith("http://")) //{ // avatarurl = user.Avatar; // avatartype = 2; // avatarwidth = user.Avatarwidth; // avatarheight = user.Avatarheight; //} //else if (user.Avatar.ToLower().Trim().StartsWith(@"avatars\common\")) // avatartype = 0; }