RX/XE 팁
XE FAQ 는 제가 XE공홈 '묻고 답하기'에 답변한 내용들 중 일부를 정리한 내용입니다. (대부분이 제가 한 답변이죠)
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠

제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 sejin7940 

글 이동시 확장변수가 사라지는 현상을 발견한후, 실제 원인을 정확히 찾는데 3시간이나 걸렸다는..  ㅡㅡ;;

 

 

관리자가 게시판의 여러글 클릭 후, '게시글 관리'의 '게시글 이동' 기능을 사용할 경우..

해당 글들에 파일이 첨부되어 있지 않는 경우에는 아무 문제가 없는데..

파일이 첨부되어 있는 글인 경우, 그 글에 사용자정의(확장변수) 값이 등록되어있던 글이면...
게시글 이동하면,  사용자정의 값이 전부 사라지는 버그가 있다.


게시글 이동이 document.admin.controller.php  에서  moveDocumentModule  함수에서 
게시글 이동시 첨부된 파일이 있는 경우..

파일폴더를 새로운 모듈에 맞추기 위해  (폴더변경)
$oFileController->deleteFile($val->file_srl);  가 실행되서 기존폴더의 파일을 삭제하게 되는데..


file.controller.php 에서  deleteFile 함수 끝부분에 보면  $oDocumentController->updateUploaedCount   함수 실행된다.
(사실 글이동시에는 논리적으로는 이 부분이 실행될 필요가 없다.)

어쨋든 updateUploaedCount 함수 실행되면서, 그 내부의 updateDocument 가 실행된다.

그런데 이 updateDocument 내부에서는
확장변수가 있는 구조라면, 무조건 확장변수 전체를 지우고,  $obj->extra_vars1  같은 형태로 확장변수 값을 받아서 다시 저장된다.

이 updateDocument 는 원래 글 수정시 사용될 용도로 만들어졌고
글 수정시에는 확장변수 값이 전부 전달이 되기에 $obj->extra_vars1 형태에서는 문제가 없는데..

문제는 updateUploadedCount 함수에서  $oldDocument->variables  값이 넘어가는데..
extra_vars1 등은 칼럼의 변수 값들이 아니여서 (예전 1.4 때에서는 변수였지만. 1.7 에서는 별도 DB를 쓰기에)
게시글이동시엔, 결국 확장변수 값이 빈값이 전달되어 확장변수가 전부 다 초기화가 되어버리게 된다.

 

이 버그의 해결방법은 updateDocument 자체를 수정하는 방법도 있지만
이보다는,  글이동 ( moveDocumentModule ) 시 어차피 파일수가 같은데 굳이  updateDocument 가 실행되는  updateUploadedCount 를 실행시킬 필요자체가 없다

다만, deleteFile 함수는 실게 글 등록이나 수정시 파일 삭제의 경우 실행되고 이 때는 업로드파일 수 조절이 필요하기에
수정은 updateUploadedCount  쪽을 하는게 맞다.

결국, updateUploadedCount 를  실제파일수와 DB칼럼상에 기록된 파일수가 다른 경우에만 실행되게 하면 다 해결이 된다.

 

 

실제 수정방법은... 굉장히 간단한데....


document.controller.php 에서

updateUploaedCount 함수에서


if($oldDocument != null)

 

를 아래처럼 수정

 

if($oldDocument != null && ($oldDocument->get('uploaded_count')!=$fileCount) )

전체 6건
번호 카테고리 제목 출처 등록일 조회
공지 XE 기능개선 XE 1.11.18 이후 버전의 익명 수정 버그 수정법 xetown  2023.10.07 3264
공지 XE 기능개선 XE 1.11.14 보안패치 - 타인의 쪽지 내용을 확인할 수 있는 버그 패치방법 xetown  2023.10.03 3329
공지 XE 기능개선 XE 1.11.6 이후 보안배치 #4 file rhymix  2022.07.05 3500
공지 1.11.6 XE 1.11.6 이후 보안배치 #3 rhymix  2022.04.02 3465
공지 1.11.6 XE 1.11.6 이후 보안배치 #1 xetown  2021.06.22 3848
공지 1.11.6 XE 1.11.6 이하 에서 공개댓글을 비밀댓글로 변경시 생길 수 있는 오류 수정법 sejin7940  2021.01.10 3779
공지 XE 기능개선 XE 1.11.4 이후에서 파일 업로드시 정상 작동 안 하는 현상 수정법 XE github  2019.04.02 6546
공지 XE 기능개선 php 7.1 환경에서 XE 오류 나는 경우 확인할 사항 sejin7940  2018.07.11 6447
공지 유용정보 php7.2 환경에서 XE 오류가 생기는 경우 - Object 클래스 변경 필요 XE Github  2017.11.27 10043
공지 XE 기능개선 XE 1.8.30 이하에서 반드시 수정해주셔야하는 부분입니다. XE 1.8.31  2017.02.26 7220
공지 1.8.18 XE 1.8.18 에서 사용시 반드시 수정해야할 사항들 ( XE 1.8.20 이후에서는 수정 불필요 ) xetown  2016.04.03 26364
공지 XE 기능개선 XE 1.8.12 이후부터 proc controller 일부가 작동 안 할 경우 확인할 부분 [1] XE  2015.10.16 26251
6 1.7.7 글 수정시 파일첨부 삭제하면 확장변수 무조건 삭제되는 버그 해결법 sejin7940  2014.12.10 1166
5 1.7.7 글 개수 추출하는 함수의 제한들 해제 및 query 버그 수정법 sejin7940  2014.11.30 1159
» 1.7.7 파일첨부 된 글을 게시글 이동시, 사용자정의 값이 전부 삭제되는 버그 패치 sejin7940  2014.11.20 1479
3 1.7.7 '이메일 주소로 계정 찾기' 인증 후 문구 오류 수정 sejin7940  2014.11.15 1650
2 1.7.7 관리자 메뉴 설정에서, 기본 URL 설정에 따른 등록 오류 현상 수정 sejin7940  2014.11.12 1607
1 1.7.7 에디터에서 '문서 폰트' 지정해도 제대로 안 되는 버그 / 기본폰트 수정 sejin7940  2014.10.26 1605
XE Login