현재 댓글에 레벨 제한을 두려고 코멘트 모듈을 수정중입니다.
특정 게시판에서만 적용시키려고 srl 을 통해 구분을 지었는데..
관리자 / 글작성자도 레벨 제한이 안되면 댓글을 못달더라구요.
관리자 부분은 어떻게든 해결했는데.. 글 작성자는 어떻게 해야할지 감이 안잡히더라구요.
$module_info = Context::get("module_info"); $module_srl = $module_info->module_srl; if (in_array($module_srl, array(모듈 srl, 모듈srl2, 모듈srl3))) { //로그인 정보 불러오기 $logged_info = Context::get('logged_info'); // 포인트 모듈? 불러오기 $oPointModel = &getModel('point'); // 로그인한 회원의 포인트 정보 불러오기 $point = $oPointModel->getPoint($logged_info->member_srl); // 모듈? 불러오기 $oModuleModel = &getModel('module'); // 포인트 모듈 설정? 불러오기 $config = $oModuleModel->getModuleConfig('point'); // 회원 레벨 불러오기 (포인트에 따른 레벨 정보를 불러오는거같음) $level = $oPointModel->getLevel($point, $config->level_step); // 어드민은 레벨제한 없이 작성가능 $notadmin = $logged_info->is_admin!='Y'; // 본인 글에서는 레벨 제한 없이 작성가능 $oDocumentModel = &getModel('document'); $oDocument = $oDocumentModel->getDocument(member_srl); $member_srl = $logged_info->member_srl; if ($level<10 && $notadmin && $oDocument != $member_srl) return new Object(-1, '3레벨 미만 유저는 댓글을 작성하실 수 없습니다.'); }
구글에 검색을 열심히 돌려봤지만
대부분 스킨단에서 적용 하는 방법이 적혀있지 모듈 수정을 하는건 별로 없더라구요..
- 요약
본인이 작성한 글에는 댓글 레벨 제한이 걸리면 안됨
그래서
로그인한 회원 정보 != 글 작성자 회원 정보
(로그인한 회원 정보랑 글 작성자 회원 정보가 다르면 댓글 레벨 제한 걸리게 설정)
를 통해서 댓글이 작성되게 하려고 함
하지만 작동이 안됨..
글 작성자 회원 srl 만 알면 쉽게 해결될거같은데 말이죠..ㅠ
해당 코드가 어디에 위치해 있는지 알려주시면 거기에 들어가는 트리거 대충 유추해서 답변드리기는 쉬워질지 모르겠지만, 트리거 실행위치에 따라 다 달라요. (서드파티 모듈 답변이 그래서 어려워요)
document_srl 을 가져오는 방법을 알 수 있다면 document 을 통해서 게시글의 정보를 가져와서 ($oDocument = getModel('document')->getDocument($document_srl) <- 이런식) 해당 게시글의 member_srl 을 가져오면
if($logged_info->member_srl == $oDocument->get('member_sr'))
{
return;
}
이런식으로 처리할 순 있어요