Exemple #1
0
 public static bool PostAuthority(IXForum forum, UserGroup userGroupInfo, int userId, ref string msg)
 {
     if (!Forums.AllowPostByUserID(forum.Permuserlist, userId))
     {
         if (string.IsNullOrEmpty(forum.PostPerm))
         {
             if (!userGroupInfo.AllowPost)
             {
                 msg = "您当前的身份 \"" + userGroupInfo.GroupTitle + "\" 没有发表主题的权限";
                 return(false);
             }
         }
         else
         {
             if (!forum.Field.AllowPost(userGroupInfo.ID))
             {
                 msg = "您没有在该版块发表主题的权限";
                 return(false);
             }
         }
     }
     if (!forum.AllowSpecialOnly)
     {
         return(true);
     }
     if (forum.AllowPostSpecial <= 0)
     {
         msg = "您没有在该版块发表特殊主题的权限";
         return(false);
     }
     if ((forum.Allowpostspecial & 1) != 1 || userGroupInfo.AllowPostpoll)
     {
         return(true);
     }
     msg = "您当前的身份 \"" + userGroupInfo.GroupTitle + "\" 没有发布投票的权限";
     if ((forum.Allowpostspecial & 4) != 4 || userGroupInfo.AllowBonus)
     {
         return(true);
     }
     msg = "您当前的身份 \"" + userGroupInfo.GroupTitle + "\" 没有发布悬赏的权限";
     if ((forum.Allowpostspecial & 16) == 16 && !userGroupInfo.AllowDebate)
     {
         msg = "您当前的身份 \"" + userGroupInfo.GroupTitle + "\" 没有发起辩论的权限";
         return(false);
     }
     return(true);
 }