글수정 '직접선택' 권한으로 했을 시 질문사항

글수정이라는게 관리자 옵션에서 "쓰기권한"으로 알고 있습니다.

이 쓰기 권한을 직접선택으로 하여 관리자말고도 다른 권한의 로그인사용자에게도 권한을 줬는데

본인이 쓴 게시물에 대해서만 수정이 가능하고 다른 사용자가 작성한 글에 대해서는 수정이 불가능하네요;

직접선택으로 관리자를 제외한 그룹끼리도 글 수정 및 삭제가 자유롭게 하려면 어찌해야 될까요..

--------------------------------------------------------------------------------------------------------------

검색해보니 kboard.class.php 파일에서 이쪽 코드를 수정하면 될듯한데..

public function isEditor($writer_uid){

        if($this->userdata->ID){
            if($writer_uid == $this->userdata->ID){
                // 본인인 경우
                return true;
            }
            else if($this->isAdmin()){
                // 게시판 관리자 허용
                return true;
            }
        }
        return false;
    }

조언좀 부탁드립니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 글 수정과 쓰기권한은 관련이 없습니다.

    쓰기권한은 말 그대로 게시판에서 글 작성이 가능한 회원들 설정하는 옵션입니다.

    글을 썼다고 해서 다른글까지 수정하면 안되겠죠.

    그래서 글 수정은 쓰기권한과 무관하게 동작합니다.

    관리자이거나 작성자 본인이거나요.

     

    테스트는 못해봤지만, 원하시는대로 동작하게 하시려면 (쓰기권한이 있는 사용자가 수정하게 하려면)

    아래 굵게 표시된 코드를 추가 해보시겠어요?

    public function isEditor($writer_uid){
        if($this->userdata->ID){
            if($writer_uid == $this->userdata->ID){
                // 본인인 경우
                return true;
            }
            else if($this->isAdmin()){
                // 게시판 관리자 허용
                return true;
            }
            else if(array_intersect($this->getWriteRoles(), $this->userdata->roles)){
                return true;
            }

        }
        return false;
    }

    하지만 모든 게시판에 적용이 될꺼에요.

     

    어째서 이와같은 기능이 필요한지 자세히 설명해주실 수 있나요?

  • 클라이언트측에서 관리자의 하위 그룹끼리도 서로 글을 쓰고 수정하는게 원활했으면 좋겠다는 의견이 있었습니다.

    user role editor로 이것저것 해보며 고민을 해봤는데 난항을 겪고 있어 조언을 구하게 되었습니다.

     

    일단 도움주신대로 수정하니 원하는 기능은 구현하게 되었는데, 모든 게시판 적용에 대한건 클라이언트의 이해를 구해야겠네요,

    아무쪼록 도움주셔서 감사드립니다.

  • KBoard에 관련 기능을 추가해서 업데이트 하도록 하겠습니다^^

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기