엉뚱한 곳에서 (보통 xe/files/config/config.user.inc.php 에서 실수함) 빈 줄이 추가됨
실제로 날라오는 XML자료의 첫 번째 줄에 <response>가 나타나지 않고 빈 줄이 추가됨
xml을 처리한 javascript상에서 xml이 아닌 일반 메시지로 판단
(정규식에 의해 첫 번째에 <response>가 나타나면 xml로 파싱해서 처리하고 그렇지 않으면 일반 메시지로 판단
앞에 새 줄(\n)이 있으므로 /^<response>/에 해당하지 않으므로 일반 메시지로 판단됨)
해당 경고 메시지가 뜬다
추가 : 이런 경우는 보통 __OB_GZHANDLER_ENABLE__ 을 활성화 하면 에러남
메시지 내용은 header상에서는 압축되었다고 했으나, 정작 메시지 내용은 압축된 자료 앞에 \n이 추가되어됨
브라우저상에서 정상적인 압축 자료로 인식하지 못하고 지원하지 않는 인코딩이라는 창이 뜸
해결 방법 : 엉뚱한 빈 줄을 찾아야 된다. (output buffering 기능을 끄면 header전에 출력되는곳을 알 수 있으나 정작 어디서 꺼야될지는 정확하게 모르겠다.) 일단 xe/files/config/config.user.inc.php에 빈 줄이 있는 지 (특히 <? 앞이나 ?> 뒤에 확인할 것) 확인한다.
modules/editor/skins/default 업데이트
modules/editor/tpl/images 업데이트
modules/editor/editor.controller.php 업데이트
modules/editor/editor.model.php 업데이트
modules/file/file.controller.php 업데이트
modules/file/file.admin.view.php 업데이트
modules/file/file.model.php 업데이트
file.model.php 수정
80 //if($module_srl) $file_config = $oModuleModel->getModulePartConfig('file',$module_srl);
글을 작성할 떄 포인트가 줄어드는 게시판에, 포인트가 부족한 상태에서도 글을 작성할 수 있다는 사실.
좀 귀찮은 문제이어서 바로 수정하였습니다.
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'등과 같이 있는 곳에
해당 숫자를 넣으시면 됩니다 :)