Ejemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            m_Action   = _Request.Get("action", Method.Get);
            m_TargetID = _Request.Get("targetid", Method.Get, 0);

            switch (m_Action)
            {
            case "post":

                MaxLabs.bbsMax.Entities.PostV5 post = PostBOV5.Instance.GetPost(m_TargetID, false);
                if (post != null)
                {
                    ManageForumPermissionSetNode permission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(post.ForumID);
                    if (permission.Can(My, ManageForumPermissionSetNode.ActionWithTarget.UpdateThreads, post.UserID) ||
                        permission.Can(My, ManageForumPermissionSetNode.ActionWithTarget.UpdatePosts, post.UserID))
                    {
                        m_UserID = post.UserID;
                        break;;
                    }
                }
                m_UserID = MyUserID;
                break;

            case "user":

                if (UserBO.Instance.CanEditUserProfile(My, m_TargetID))
                {
                    m_UserID = m_TargetID;
                }
                else
                {
                    m_UserID = MyUserID;
                }

                break;

            default:
                m_UserID = MyUserID;
                break;
            }

            SetPager("list", null, PageNumber, PageSize, CurrentGroup.TotalEmoticons);
            //SetPager("list", string.Format("emoticons.aspx?id={0}&page={1}&groupid={2}&ispanel={3}&from={4}&callback={5}",
            //    _Request.Get("id", Method.Get),
            //    "{0}",
            //    _Request.Get("groupid", Method.Get),
            //    IsPanel ? "true" : "false",
            //    _Request.Get("from", Method.Get),
            //    Callback
            //    ),
            //    PageNumber,
            //    PageSize,
            //    CurrentGroup.TotalEmoticons
            //    );
        }
Ejemplo n.º 2
0
        protected bool AllowManageThread(BasicThread thread)
        {
            ManageForumPermissionSetNode managePermission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(thread.ForumID);

            if (managePermission.Can(My, ManageForumPermissionSetNode.ActionWithTarget.DeleteAnyThreads, thread.PostUserID) ||
                managePermission.Can(My, ManageForumPermissionSetNode.ActionWithTarget.SetThreadsRecycled, thread.PostUserID))
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 3
0
        protected bool HasPermission(Forum forum)
        {
            ManageForumPermissionSetNode managePermission = PostBOV5.Instance.GetForumPermissonSet(forum);


            bool has = managePermission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.DeleteAnyThreads);

            if (IsRecycleBin && has == false)
            {
                has = managePermission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.ApproveThreads);
            }
            return(has);
        }
Ejemplo n.º 4
0
        protected bool HasStickPermission(Forum forum)
        {
            ManageForumPermissionSetNode permission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(forum.ForumID);

            if (permission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.SetThreadsStick) ||
                permission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.SetThreadsGlobalStick))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 5
0
        private void checkForumPermission()
        {
            foreach (Forum forum in Forums)
            {
                ManageForumPermissionSetNode managePermission = PostBOV5.Instance.GetForumPermissonSet(forum);

                if (managePermission.Can(My, MaxLabs.bbsMax.Settings.ManageForumPermissionSetNode.Action.ApprovePosts))
                {
                    m_HasSomePermission        = true;
                    m_FirstHavePermissionForum = forum;
                    return;
                }
            }
            m_HasSomePermission        = false;
            m_FirstHavePermissionForum = null;
        }
Ejemplo n.º 6
0
        protected bool AllowManagePost(PostV5 post)
        {
            if (post.PostType == PostType.ThreadContent)
            {
                return(false);
            }

            ManageForumPermissionSetNode managePermission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(post.ForumID);

            if (managePermission.Can(My, ManageForumPermissionSetNode.ActionWithTarget.DeletePosts, post.UserID))
            {
                return(true);
            }

            return(false);
        }
Ejemplo n.º 7
0
        private void checkForumPermission()
        {
            foreach (Forum forum in Forums)
            {
                ManageForumPermissionSetNode managePermission = PostBOV5.Instance.GetForumPermissonSet(forum);

                if (managePermission.HasPermissionForSomeone(My, MaxLabs.bbsMax.Settings.ManageForumPermissionSetNode.ActionWithTarget.DeleteAnyThreads))
                {
                    m_HasSomePermission        = true;
                    m_FirstHavePermissionForum = forum;
                    return;
                }
            }
            m_HasSomePermission        = false;
            m_FirstHavePermissionForum = null;
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 权限判断
        /// </summary>
        /// <param name="operatorUser">操作者</param>
        /// <param name="userid">目标用户</param>
        /// <param name="targetID">目标对象ID</param>
        /// <param name="action">操作</param>
        /// <returns></returns>
        public bool CanListUserEmoticons(AuthUser operatorUser, int userid, int targetID, string action)
        {
            switch (action)
            {
            case "post":
                PostV5 post = PostBOV5.Instance.GetPost(targetID, false);
                ManageForumPermissionSetNode permission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(post.ForumID);
                if (permission.Can(operatorUser, ManageForumPermissionSetNode.ActionWithTarget.UpdateThreads, post.UserID) ||
                    permission.Can(operatorUser, ManageForumPermissionSetNode.ActionWithTarget.UpdatePosts, post.UserID))
                {
                    return(true);
                }
                break;

            case "userinfo":
                return(UserBO.Instance.CanEditUserProfile(operatorUser, userid));
            }

            return(false);
        }
Ejemplo n.º 9
0
 protected bool CanManage(ManageForumPermissionSetNode.ActionWithTarget action, int targetUserID)
 {
     return ForumManagePermission.Can(My, action, targetUserID);
 }
Ejemplo n.º 10
0
 protected bool CanManage(ManageForumPermissionSetNode.Action action)
 {
     return ForumManagePermission.Can(My, action);
 }
Ejemplo n.º 11
0
        protected bool HasPermission(Forum forum)
        {
            ManageForumPermissionSetNode managePermission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(forum.ForumID);

            return(managePermission.Can(My, ManageForumPermissionSetNode.Action.ApprovePosts));
        }
Ejemplo n.º 12
0
        private void ProcessGetThreads()
        {
            SearchSettings setting = AllSettings.Current.SearchSettings;

            isShowResult = true;

            PostBOV5.Instance.SearchTopics(m_SearchID, setting.SearchPageSize, _Request.Get <int>("page", Method.Get, 1), setting.SearchType, m_MaxResultCount, out TotalCount, out searchText, out mode, out threadList, out postList);

            searchString = searchText;
            if (mode == SearchMode.UserPost || mode == SearchMode.UserThread)
            {
                User user = UserBO.Instance.GetUser(int.Parse(searchText));
                searchText = string.Empty;
                if (user != null)
                {
                    searchString = user.Username;
                }
            }

            if (threadList == null && postList == null)
            {
                ShowError("非法的searchID");
            }

            else if (mode == SearchMode.Content || mode == SearchMode.TopicContent || mode == SearchMode.UserPost)
            {
                List <int> threadIDs = new List <int>();
                foreach (PostV5 post in postList)
                {
                    if (threadIDs.Contains(post.ThreadID) == false)
                    {
                        threadIDs.Add(post.ThreadID);
                    }
                }

                searchThreads = PostBOV5.Instance.GetThreads(threadIDs);

                WaitForFillSimpleUsers <PostV5>(postList, 1);

                CheckThreads();
            }

            List <int> forumIDs = new List <int>();

            if (threadList != null)
            {
                foreach (BasicThread thread in threadList)
                {
                    if (forumIDs.Contains(thread.ForumID) == false)
                    {
                        ManageForumPermissionSetNode managePermission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(thread.ForumID);
                        if (managePermission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.DeleteAnyThreads) ||
                            managePermission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.SetThreadsRecycled))
                        {
                            isShowActionButton = true;
                            break;
                        }
                        forumIDs.Add(thread.ForumID);
                    }
                }
            }

            if (isShowActionButton == false && postList != null)
            {
                foreach (PostV5 post in postList)
                {
                    if (forumIDs.Contains(post.ForumID) == false)
                    {
                        ManageForumPermissionSetNode managePermission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(post.ForumID);

                        if (managePermission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.DeletePosts))
                        {
                            isShowActionButton = true;
                            break;
                        }
                        forumIDs.Add(post.ForumID);
                    }
                }
            }

            PostBOV5.Instance.ProcessKeyword(threadList, ProcessKeywordMode.TryUpdateKeyword);
            PostBOV5.Instance.ProcessKeyword(postList, ProcessKeywordMode.TryUpdateKeyword);

            SetPager("list", UrlHelper.GetSearchUrl() + "?searchID=" + m_SearchID.ToString() + "&page={0}", _Request.Get <int>("page", Method.Get, 1), setting.SearchPageSize, TotalCount);
        }
Ejemplo n.º 13
0
        protected bool HasPermission(Forum forum)
        {
            ManageForumPermissionSetNode managePermission = AllSettings.Current.ManageForumPermissionSet.Nodes.GetPermission(forum.ForumID);

            return(managePermission.HasPermissionForSomeone(My, ManageForumPermissionSetNode.ActionWithTarget.ApproveThreads));
        }
Ejemplo n.º 14
0
 public ManageForumPermissionSet()
 {
     Nodes = new ManageForumPermissionSetNodeCollection();
     ManageForumPermissionSetNode topNode = new ManageForumPermissionSetNode();
     Nodes.Add(topNode);
 }