XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
XE 1.7 에서
사이트맵에서 게시판 에 대해 '권한' 설정을 하면서
'글쓰기권한'이나 '댓글쓰기권한' 등에.. '특정그룹' 으로 선택해 등록해면 등록이 안 됩니다.
그동안은 편법으로, 게시판 설정->권한설정 으로 설정해서 사용했는데.
사이트맵의 권한설정을 바꾸면 다 또 초기화 되어 모든이용자로 풀리는게
XE 1.7 기반의 가장 심각한 버그이다. (전 이 버그 때문에 그동안 1.7 로 타 사이트를 개발을 안 했었다.)
예전에도 한번 고쳐보려했는데... 이상하게 잘 안 고쳐져서..
결국 Core Issue 등록해두었는데, Core 쪽에서 수정이 계속 미뤄져서.. 결국 다시 연구해 직접 고쳤다 ^^;;
이제 마음놓고 XE 1.7 기반으로 작업해도 될듯...
sitemap.html 의 script 에서 htPerm[sKey] 값을 menu.procMenuAdminUpdateAuth 로 넘겨야하는데..
단순한 숫자는 넘어가는데, 그룹에 들어가는 경우 push 하면서 값이 제대로 안 넘어간다.
해결하려면 이 값을 toString 처리해서 넘기면 된다.
1)
modules/menu/tpl/sitemap.html 에서
function readPermValue 함수를 찾아서 (대략 2330번째줄 부근)
그 함수 끝부분의 return vValue; 를
return vValue.toString(); 로 바꾸면 정상적으로 처리가 된다.
2)
(추가) 그룹이 하나는 입력되는데 복수개시 첫번째 그룹만 저장되는 버그가 있어 이 부분 수정법입니다.
modules/menu/menu.admin.controller.php 에서
public function procMenuAdminUpdateAuth() 함수내에
// users in a particular group 라는 문구를 찾으신 후에
그 바로 위에..
$htPerm[$grantName] = explode(',',$htPerm[$grantName]);
라는 문구를 추가하시면 복수개 그룹 설정시에도 적용됩니다.