게시판 등에서 '게시물 관리' 커맨드의 기능을 확장시켜주는 애드온입니다.

(관련 히스토리는 https://xetown.com/tips/1416089 참조)

 

0. 개관

- 관리 권한이 있는 회원이 게시판 목록 등에서 '게시물 관리' 버튼을 클릭하면 기존의 게시물 관리 팝업창 대신 애드온의 소스 내용을 띄우게 됩니다.

- 라이믹스 2.0.8 그리고 php 7.0에서 개발되었습니다.

- 보안 이슈가 있었어서 0.1 버전은 삭제했습니다. 패치된 0.2로 이용해보시면 되겠습니다.

 

0.png

 

1. 게시물 관리

- 기존과 달리 로딩과 함께 게시판 목록을 바로 자동 로드합니다. 목록에서 이동/복사할 게시판을 선택한 후 커맨드를 실행하면 됩니다.

- 물론 휴지통 이동이나 삭제도 가능합니다.

 

2. 작성자 바꾸기

- 기존에 공개했던 작성자 바꾸기 애드온과 동일한 기능입니다. 회원을 검색하고 선택된 문서의 작성자를 해당 회원으로 변경할 수 있습니다.

 

3. 문서 속성 바꾸기

- 공지/일반, 비공개/공개/비밀/임시, 댓글허용/댓글잠금, 제목굵게/제목보통, 제목 색상 등을 지정해서 선택된 문서들에 일괄 적용할 수 있습니다.

 

4. 향후 업데이트 계획

- 소운영자(부운영자 아래ㅋ) 기능 : '관리권한 그룹' 및 '모듈 관리자 회원' (즉, manager의 grant를 가지는 회원들) 외에도 애드온에서 개별 회원을 지정하고 이들이 일종의 '부-부운영자' 같은 방식으로 게시물 관리를 할 수 있게끔 할 예정입니다.

1) 애드온 설정에서 전체 게시판의 게시물 관리 회원(소운영자)을 지정할 수 있고

2) 각 게시판 모듈별로도 '추가 설정'에서 게시물 관리 회원(소운영자)을 지정할 수 있게 될 겁니다.

- 게시판 목록 필터링 : 게시판 목록을 검색어 입력에 따라 실시간으로 필터링할 수 있게 합니다. (skyo님 제안)

- 타겟팅 제외 mid 설정 : 게시판 목록화에서 제외할 게시판의 mid를 따로 설정할 수 있게 합니다. (skyo님 제안)

 

덧. 버그 및 기능 개선과 관련한 의견 환영합니다~~

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • profile
    와!! 엄청 유용한 기능인데 감사합니다
  • profile profile

    아래에 지적된 보안 이슈가 있어서 업데이트했으니 0.2로 바꿔주시면 됩니다.

  • ?

    --

  • ? profile

    보안 이슈 감사합니다ㅠㅠㅠ
    ajax 처리 과정에서 신중을 기하지 못했었습니다.

    현재는 0.2로 수정했고, 문제가 되는
    - _author_changer.php
    - _status_changer.php
    두 파일에서 모듈별 권한 체크를 하도록 했습니다.

     

    $module_srl = (int)$_REQUEST['module_srl'];
    $logged_info = Context::get('logged_info');
    if ( $logged_info->is_admin !== 'Y' )
    {
        $module_info = ModuleModel::getModuleInfoByModuleSrl($module_srl);
        $grant = ModuleModel::getGrant($module_info, $logged_info);
        if ( !$grant->manager )
        {
            return new baseObject(-1, 'msg_not_permitted');
        }
    }


    다시 한번 감사합니다!!

    덧. 급한 마음에 소스를 짜긴 했는데 msg_not_permitted는 딱히 필요가 없겠네요;;;

  • profile
    우왕! 역시 윤삼님이시군요!
    저도 좀 더 배워야 하는데 ㅎㅎㅎ 앞으로 나가질 못하네요 ㅋㅋㅋ
  • profile profile

    아이고, 이번에도 선무당 사람 잡을 뻔했는 걸요ㅠㅠㅠ
    저는 주로 옆으로 나아가고 있습니다ㅋㅋㅋㅋㅋ

  • profile profile
    이렇게 도전해봐야 조심해야 할 부분을 배울 수 있잖아요 ^^
    도전조차 못하고 있어요 ㅠㅠ
    비누님처럼 알아서 점검? 도 해주시고 참 대단하신 분들 많아요 ^^
  • profile profile
    아침에 일어나서 고마움의 눈물을 머금고 우당탕탕하긴 했었죠ㅎㅎㅎㅎ
  • profile profile
    역시 윤삼님 기다렸는데 바로 업데이트해주셨네요.
    감사합니다.
  • profile profile
    어제 일찍 잠자리에 드는 바람에 보안 이슈 지적에 바로 대응을 못했어요.
    대신 일어나자마자 허겁지겁...ㅋㅋㅋ
  • ?

    라이믹스 2.0이 아니라 새로 나와도 써보지 못하고 있었는데 
    잘되네요!!

    질문 >> 이걸 사용하면 작성자 바꾸기 애드온은 안써도 되는거죠?

    제안 >> 초성으로 서칭이 가능 했으면 합니다. ㄱ을 누르면 ㄱ/a를 누르면 해당 초성이 포함된 제목/mid명이 나온다던지...

    제가 보기엔 애드온이 문제가 아니라 아래 이런 모듈의 기본 설정이 문제인것 같은데 문제는 애네들이 설정 페이지 조차 없는 애들이라 모듈 분류를 바꿀수가 없습니다.
     

    automention_temp 

    boardsubscription_temp

    bulkmsg 

    documentsubscription_temp 

    extravar_upload_temp 

    memberfollow_temp 

    popup 

  • ? profile
    안 그래도 형태소 입력 -> 목록 필터링은 고려하고 있긴 한데 다만 좀 더 후순위로 생각하고 있습니다.

    근데 쟤네들은 누군데 나오는 거예요?
    게시판 모듈에 등록된 mid 만 가져오도록 한 거거든요;;;
  • profile ?
    자동완성 모듈
    회원 구독 모듈
    팝업 모듈
    전체쪽지 모듈
    뭐 이런겁니다. 그러니까요..왜 게시판 모듈에 등록 되어 있는지
    다른건 유료 모듈이니 아래가 전체 쪽지 모듈 입니다.

    https://xe1.xpressengine.com/index.php?mid=download&package_id=22753517
  • ? profile
    흠... 그럼 예외 처리가 가능한지 살펴보겠습니닷!
  • ? profile
    더미 게시판이라 보면 되는 거군요.
    목록화 단계에서 따로 회피할 방법은 없을 것 같고, 애드온 설정에서 예외 mid를 입력 받는 방법밖에는 없겠네요;;;
  • profile ?
    네. 그것도 좋은 방법 같습니다.
  • ?
    굉장히 유용한 애드온같아요
  • ? profile

    잘 활용되면 저야 감사한 일이죠~
    혹시 좋은 의견 있으시면 언제든 말씀해주세요!

  • profile

    에러.png

     

    php 8.0.3 + Rhymix 2.0.8  에서 게시물 관리외에는 안되네요 !!!

  • profile profile
    테스트 환경이 7.0대여서...
    8.0대는 테스트를 해보기가 힘드네요.
    혹시 웨일 말고 다른 브라우저에서도 해보셨을까요?
  • profile
    향후 부운영자 기능은 정말 기대되네요
  • profile profile
    부운영자까진 아니고 아주아주 사소한 소운영자쯤 될 것 같아요ㅎㅎ
  • profile profile
    네 그정도도 충분하지 않을까 생각합니다. ^^

    그리고 게시판 선택에 경우 기존의 게시판 선택방법이 더 낫지 않을까요?

    저렇게 다 펼쳐지는건 게시판이 많을경우 조금은 불편할듯 합니다.
  • profile profile
    에고, 늦게 오셨네요ㅜ
    벌써 0.3.1이 나왔어요ㅎㅎ https://xetown.com/point_contents/1545419

    부운영자/소운영자 같은 기능은 취소하기로 했습니다.
    여러 꼼수를 써야 해서 소스만 지저분해지고 여러모로 애드온에서는 리스크가 높아져서요...ㅜ

    게시판 선택은 기존 방법의 처리 과정이 불편하다는 의견이 있었습니다. 저도 공감하구요ㅎ
    대신 게시판이 많은 경우에 대비해서, 게시판 검색 + 실시간 필터링을 도입했습니다.