글을 작성할 떄 포인트가 줄어드는 게시판에, 포인트가 부족한 상태에서도 글을 작성할 수 있다는 사실.
좀 귀찮은 문제이어서 바로 수정하였습니다.
modules/board/board.view.php 입니다.
약 263줄 부터입니다.
/**
* @brief 글 작성 화면 출력
**/
function dispBoardWrite() {
// 권한 체크
if(!$this->grant->write_document) return $this->dispBoardMessage('msg_not_permitted');
srl 검색 (member_srl, document_srl, module_srl, target_srl)에 문자 입력시 제대로 처리안됩니다.
언어 부분 추가했는데 한글만 추가해서 다른언어는 직접 입력하시길바랍니다.
졸면서 코딩해서 알려지지 않은 문제점이 있다는게 알려질것입니다(??)
간첩 신고는 113 버그 신고는 리플...
추가 - 0.2 버전에 몇 가지 사소한 수정하여 0.2.1 올렸습니다. = 이전에 debugPrint로 사용하던 소스가 일부 남아서 없에고 올렸습니다. = 관리자가 임의로 포인트를 정해 줄 경우 메시지로 기록이 남습니다. = 관리자 메뉴에서 검색 후 이동할 때 검색 쿼리가 따라다니는 문제점을 해결하였습니다. = 글 쓰기 과정에서 점수 변화량을 제대로 출력하지 못한 문제를 해결하였습니다.
가운데 Context::set('grants', $this->module_info->grants); 를 추가하시는겁니다. 3. 지금은 board모듈에서 수정합니다. 다른 모듈도 비슷하게 시도해보세요..
modules/board/board.view.php 약 58줄 부터
/** * @brief 목록 및 선택된 글 출력 **/ function dispBoardContent() { /** * 목록보기 권한 체크 (모든 권한은 ModuleObject에서 xml 정보와 module_info의 grant 값을 비교하여 미리 설정하여 놓음) **/
$grants = Context::get('grants');
if(!$this->grant->list)
/** * module_info에서 권한을 검사하여 해당하는 메시지 출력 **/ { if (in_array('2',$grants['view'])) // 그룹2에게 보기 권한이 있을 때 return $this->dispBoardMessage('msg_not_permitted_member2'); elseif (in_array('3',$grants['view'])) // 그룹3에게 보기 권한이 있을 때 return $this->dispBoardMessage('msg_not_permitted_member3'); elseif (in_array('4',$grants['view'])) // 그룹4에게 보기 권한이 있을 때 return $this->dispBoardMessage('msg_not_permitted_member4'); else return $this->dispBoardMessage('msg_not_permitted');
}
위 파일 경우는, 사실 원래는 목록보기 권한이 없을 때 나올 메시지입니다만,
그냥 들어왔는데, 로그인해라길래 들어오니까 등급이안된다고 안보여주면 짜증나니까 모든 권한을 가진 그룹을 알려주는 것 입니다. 논리적인 순서에 맞게 배치하세요.
modules/board/board.view.php 약 151줄 부터
// 글 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리 if(!$this->grant->view && !$oDocument->isGranted()) { $oDocument = null; $oDocument = $oDocumentModel->getDocument(0);
Context::set('document_srl','',true); if (in_array('2',$grants['view'])) //그룹2에게 보기 권한이 있을 때 return $this->alertMessage('msg_not_permitted_member1'); elseif (in_array('3',$grants['view'])) //그룹3에게 보기 권한이 있을 때 return $this->alertMessage('msg_not_permitted_member2'); elseif (in_array('4',$grants['view'])) // 그룹4에게 보기 권한이 있을 때 return $this->alertMessage('msg_not_permitted_member3'); else return $this->alertMessage('msg_not_permitted');
} else {
소스 건드실 분들은 아시겠지만, 저기 2,3,4들은 group_srl입니다. 직접 값을 모르시면 잘 찾아보세요...
추
가) 관리자로 로그인하셔서 관리 -> 회원 -> 그룹관리 -> 해당 그룹의 수정 링크의 속성에서 링크 주소를
보시면 group_srl=숫자 가 나옵니다. 이 숫자가 해당 그룹의 시리얼넘버이구요, 저기 '2', '3'등과 같이 있는 곳에
해당 숫자를 넣으시면 됩니다 :)