Example #1
0
        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);
            }
        }
Example #2
0
        /// <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));
        }
Example #3
0
        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);
            }
        }
Example #4
0
        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();
        }
Example #5
0
        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));
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        /// <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);
        }
Example #9
0
        /// <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("发帖失败,内容中有不符合新用户强力广告屏蔽规则的字符,请检查标题和内容,如有疑问请与管理员联系");
                        }
                    }
                }
            }
        }
Example #10
0
 /// <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);
 }
Example #11
0
 public static int SetAdminGroupInfo(AdminGroupInfo admingroupsInfo, int userGroupId)
 {
     if (AdminGroups.GetAdminGroupInfo(userGroupId) != null)
     {
         return(Discuz.Data.AdminGroups.SetAdminGroupInfo(admingroupsInfo));
     }
     return(AdminGroups.CreateAdminGroupInfo(admingroupsInfo));
 }
Example #12
0
        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
        }
Example #15
0
        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());
            }
        }
Example #16
0
        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);
            }
        }
Example #17
0
        /// <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);
            }
        }
Example #18
0
        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
        }
Example #19
0
 /// <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;
         }
     }
 }
Example #20
0
 /// <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));
     }
 }
Example #21
0
        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);
        }
Example #22
0
        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);
        }
Example #23
0
        /// <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);
        }
Example #24
0
 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);
 }
Example #25
0
 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);
 }
Example #26
0
        /// <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("发帖失败,内容中有不符合新用户强力广告屏蔽规则的字符,请检查标题和内容,如有疑问请与管理员联系");
                    }
                }
            }
        }
Example #27
0
        /// <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);
        }
Example #28
0
        /// <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);
        }
Example #29
0
        /// <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);
        }
Example #30
0
        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;
        }