Ejemplo n.º 1
0
        //public static bool NeedAudit(Int32 fid, Int32 modnewposts, int useradminid, int userid, UserGroup userGroup, Topic topicInfo = null)
        //{
        //    //return useradminid != 1 && !Moderators.IsModer(useradminid, userid, fid) && (Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods) || modnewposts == 1 || userGroup != null && userGroup.ModNewPosts == 1 || topicInfo != null && topicInfo.Displayorder == -2);

        //    if (useradminid == 1) return false;
        //    if (Moderators.IsModer(useradminid, userid, fid)) return false;

        //    if (Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods)) return true;
        //    if (modnewposts == 1) return true;
        //    if (userGroup != null && userGroup.ModNewPosts == 1) return true;
        //    if (topicInfo != null && topicInfo.DisplayOrder == -2) return true;

        //    return false;
        //}

        public static bool NeedAudit(Int32 fid, Int32 modnewposts, int useradminid, int userid, UserGroup userGroup, Topic topicInfo = null)
        {
            //return useradminid != 1 && !Moderators.IsModer(useradminid, userid, fid) && (Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods) || modnewposts == 1 || userGroup != null && userGroup.ModNewPosts == 1 || topicInfo != null && topicInfo.Displayorder == -2);

            if (useradminid == 1)
            {
                return(false);
            }
            if (Moderators.IsModer(useradminid, userid, fid))
            {
                return(false);
            }

            if (Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods))
            {
                return(true);
            }
            if (modnewposts == 1)
            {
                return(true);
            }
            if (userGroup != null && userGroup.ModNewPosts == 1)
            {
                return(true);
            }
            if (topicInfo != null && topicInfo.DisplayOrder == -2)
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
        //public static string GetTopicCountCondition(out string type, string gettype, Int32 getnewtopic)
        //{
        //    return BBX.Data.Topics.GetTopicCountCondition(out type, gettype, getnewtopic);
        //}

        //public static Int32 GetTopicListCount(string postName, Int32 forumId, string posterList, string keyList, string startDate, string endDate)
        //{
        //    return BBX.Data.Topics.GetTopicListCount(postName, forumId, posterList, keyList, startDate, endDate);
        //}

        //public static Int32 GetHotTopicsCount(Int32 fid, Int32 timeBetween)
        //{
        //    return BBX.Data.Topics.GetHotTopicsCount(fid, timeBetween);
        //}

        //public static DataTable GetTopicList(string postName, Int32 forumId, string posterList, string keyList, string startDate, string endDate, Int32 pageSize, Int32 currentPage)
        //{
        //    return BBX.Data.Topics.GetTopicList(postName, forumId, posterList, keyList, startDate, endDate, pageSize, currentPage);
        //}

        //public static DataTable GetHotTopicsList(Int32 pageSize, Int32 pageIndex, Int32 fid, string showType, Int32 timeBetween)
        //{
        //    return BBX.Data.Topics.GetHotTopicsList(pageSize, pageIndex, fid, showType, timeBetween);
        //}

        //public static void PassAuditNewTopic(string tidList)
        //{
        //    string[] array = tidList.Split(',');
        //    for (Int32 i = 0; i < array.Length; i++)
        //    {
        //        string s = array[i];
        //        TopicInfo topicInfo = Topics.GetTopicInfo(Int32.Parse(s));
        //        CreditsFacade.PostTopic(topicInfo.Posterid, Forums.GetForumInfo(topicInfo.Fid));
        //    }
        //    BBX.Data.Topics.PassAuditNewTopic(TableList.GetPostTableId(), tidList);
        //}

        //public static void UpdateMyTopic()
        //{
        //    BBX.Data.Topics.UpdateMyTopic();
        //}

        //public static Int32 GetTitleDisplayOrder(UserGroup usergroupinfo, Int32 useradminid, IXForum forum, TopicInfo tp, string message, Boolean disablepost)
        //{
        //    if (useradminid == 1 || Moderators.IsModer(useradminid, tp.Posterid, forum.Fid))
        //    {
        //        return tp.Displayorder;
        //    }
        //    if (forum.Modnewtopics == 1 || usergroupinfo.ModNewTopics == 1 || (Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods) && !disablepost) || ForumUtils.HasAuditWord(tp.Title) || ForumUtils.HasAuditWord(message))
        //    {
        //        return -2;
        //    }
        //    return tp.Displayorder;
        //}

        public static Int32 GetTitleDisplayOrder(UserGroup usergroupinfo, Int32 useradminid, IXForum forum, Topic tp, string message, Boolean disablepost)
        {
            if (useradminid == 1 || Moderators.IsModer(useradminid, tp.PosterID, forum.Fid))
            {
                return(tp.DisplayOrder);
            }
            if (forum.Modnewtopics == 1 || usergroupinfo.ModNewTopics == 1 || (Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods) && !disablepost) || ForumUtils.HasAuditWord(tp.Title) || ForumUtils.HasAuditWord(message))
            {
                return(-2);
            }
            return(tp.DisplayOrder);
        }
Ejemplo n.º 3
0
        public static bool Search(int userid, DateTime lastsearchtime, int useradminid, UserGroup usergroupinfo, ref string msg)
        {
            var config = GeneralConfigInfo.Current;

            if (useradminid != 1 && DNTRequest.GetInt("keywordtype", 0) == 1 && !usergroupinfo.DisablePeriodctrl)
            {
                string str = "";
                if (Scoresets.BetweenTime(config.Searchbanperiods, out str))
                {
                    msg = "在此时间段( " + str + " )内用户不可以进行全文搜索";
                    return(false);
                }
            }
            if (useradminid != 1)
            {
                if (!Statistic.CheckSearchCount(config.Maxspm))
                {
                    msg = "抱歉,系统在一分钟内搜索的次数超过了系统安全设置的上限,请稍候再试";
                    return(false);
                }
                //int num = Utils.StrDateDiffSeconds(lastsearchtime, config.Searchctrl);
                var ts = lastsearchtime.AddSeconds(config.Searchctrl) - DateTime.Now;
                if (ts.TotalSeconds > 0)
                {
                    msg = "系统规定搜索间隔为" + config.Searchctrl + "秒, 您还需要等待 " + ts.TotalSeconds + " 秒";
                    return(false);
                }
                if (userid != -1 && CreditsFacade.Search(userid) == -1)
                {
                    string str2 = "";
                    if (EPayments.IsOpenEPayments())
                    {
                        str2 = "<br/><span><a href=\"usercpcreditspay.aspx\">点击充值积分</a></span>";
                    }
                    msg = "您的积分不足, 不能执行搜索操作" + str2;
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 4
0
        public static bool CheckPostTimeSpan(UserGroup userGroupInfo, AdminGroup admininfo, Online olUserInfo, IUser user, ref string msg)
        {
            var cfg = GeneralConfigInfo.Current;

            if (olUserInfo.AdminID != 1 && !userGroupInfo.DisablePeriodctrl)
            {
                var str = "";
                if (Scoresets.BetweenTime(cfg.Postbanperiods, out str))
                {
                    msg = "在此时间段( " + str + " )内用户不可以发帖";
                    return(false);
                }
            }
            if (admininfo == null || !admininfo.DisablePostctrl)
            {
                var ts = olUserInfo.LastPostTime.AddSeconds(cfg.Postinterval) - DateTime.Now;
                if (ts.TotalSeconds > 0)
                {
                    msg = "系统规定发帖间隔为" + cfg.Postinterval + "秒, 您还需要等待 " + ts.TotalSeconds + " 秒";
                    return(false);
                }
                if (olUserInfo.UserID != -1)
                {
                    if (user == null)
                    {
                        msg = "您的用户资料出现错误";
                        return(false);
                    }
                    //num = Utils.StrDateDiffMinutes(text, cfg.Newbiespan);
                    ts = user.JoinDate.AddMinutes(cfg.Newbiespan) - DateTime.Now;
                    if (ts.TotalMinutes > 0)
                    {
                        msg = "系统规定新注册用户必须要在" + cfg.Newbiespan + "分钟后才可以发帖, 您还需要等待 " + ts.TotalMinutes + " 分钟";
                        return(false);
                    }
                }
            }
            return(true);
        }
Ejemplo n.º 5
0
 public static int GetTopicPostInvisible(IXForum forum, int useradminid, int uid, UserGroup userGroup, Post postinfo)
 {
     if (useradminid == 1 || Moderators.IsModer(useradminid, uid, forum.Fid))
     {
         return(0);
     }
     if (!ForumUtils.HasAuditWord(postinfo.Message) && forum.Modnewtopics == 0 && userGroup.ModNewTopics == 0 && !Scoresets.BetweenTime(GeneralConfigInfo.Current.Postmodperiods))
     {
         return(0);
     }
     return(1);
 }
Ejemplo n.º 6
0
 private bool ValidateUserPermission()
 {
     if (this.onlineusercount >= this.config.Maxonlines && this.useradminid != 1 && this.pagename != "login.aspx" && this.pagename != "logout.aspx")
     {
         this.ShowMessage("抱歉,目前访问人数太多,你暂时无法访问论坛.", 0);
         return(false);
     }
     if (!this.usergroupinfo.AllowVisit && this.useradminid != 1 && this.pagename != "login.aspx" && this.pagename != "register.aspx" && this.pagename != "logout.aspx" && this.pagename != "activationuser.aspx" && this.pagename != "getpassword.aspx")
     {
         this.ShowMessage("抱歉, 您所在的用户组 \"" + usergroupinfo.GroupTitle + "\" 不允许访问论坛", 2);
         return(false);
     }
     if (!this.config.Ipaccess.IsNullOrWhiteSpace())
     {
         string[] iparray = Utils.SplitString(this.config.Ipaccess, "\n");
         if (!Utils.InIPArray(WebHelper.UserHost, iparray))
         {
             this.ShowMessage("抱歉, 系统设置了IP访问列表限制, 您无法访问本论坛", 0);
             return(false);
         }
     }
     if (!this.config.Ipdenyaccess.IsNullOrWhiteSpace())
     {
         string[] iparray2 = Utils.SplitString(this.config.Ipdenyaccess, "\n");
         if (Utils.InIPArray(WebHelper.UserHost, iparray2))
         {
             this.ShowMessage("由于您严重违反了论坛的相关规定, 已被禁止访问.", 2);
             return(false);
         }
     }
     if (this.useradminid != 1 && this.pagename != "login.aspx" && this.pagename != "logout.aspx" && !this.usergroupinfo.DisablePeriodctrl && Scoresets.BetweenTime(this.config.Visitbanperiods))
     {
         this.ShowMessage("在此时间段内不允许访问本论坛", 2);
         return(false);
     }
     return(true);
 }