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

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

사용자정의를 사용하면서 첨부파일이 등록된 글에서..
해당 글을 수정 버튼을 누른 후  첨부파일을 삭제한 후.. 

이 때 저장을 누르면 사용자정의값이 그대로 유지되지만..
저장을 누르지 않고 뒤로 돌아가거나 목록을 누른 경우..

해당 글의 첨부파일은 삭제되어있지만,  사용자정의값들도 전부 다 사라져버린다.

물론 대부분은 파일 삭제 후 글을 재저장할테니 문제가 없을 수도 있지만

글 수정에서 파일삭제 후 저장하지 않은 경우나,
관리자페이지-> 파일 관리에서 파일을 지우는 경우라든지
다른 모듈 기반에서,  deleteFile 함수를 직접적으로 이용할 경우

해당글의 사용자정의가 무조건 삭제되어버린다

 


원인은...

$oFileController->deleteFile($val->file_srl); 가 실행되서 기존폴더의 파일을 삭제하게 되는데..

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

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

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

글 수정시에는 확장변수 값이 전부 전달이 되기에 $obj->extra_vars1 형태에서는 문제가 없는데..
파일삭제를 통할 경우에는,  updateDocument($oldDocument, $newDocumentObject);    형태로
$newDocumentObject 값이 전달되는데  이 값은 DB 칼럼 값을 기반으로 넘기는데,
extra_vars1 등은 칼럼의 변수 값들이 아니여서 (예전 1.4 때에서는 변수였지만. 1.7 에서는 별도 DB를 쓰기에)
결국 빈 값이 전달된다.

 

따라서 이를 해결하기 위해서는
updateUploadedCount 함수에서, 사용자정의값을 미리 구해서 $newDocumentObject 에 값을 넣어 직접 전달을 해야만한다

 

수정방법은
document.controller.php 에서
function updateUploaedCount  함수에서


$newDocumentObject = (object) $newDocumentArray; 

아래에다가 추가


$output = $oDocumentModel->getDocumentExtraVarsFromDB(array($documentSrl));
if($output->toBool() && $output->data)
{
 foreach($output->data as $key => $val)
 {
  if(!isset($val->value)) continue;

  $newDocumentObject->{'extra_vars'.$val->var_idx} = trim($val->value);
 }
}

 


 

전체 689건
번호 카테고리 제목 출처 등록일 조회
공지 XE 기능개선 XE 1.11.18 이후 버전의 익명 수정 버그 수정법 xetown  2023.10.07 3219
공지 XE 기능개선 XE 1.11.14 보안패치 - 타인의 쪽지 내용을 확인할 수 있는 버그 패치방법 xetown  2023.10.03 3281
공지 XE 기능개선 XE 1.11.6 이후 보안배치 #4 file rhymix  2022.07.05 3450
공지 1.11.6 XE 1.11.6 이후 보안배치 #3 rhymix  2022.04.02 3399
공지 1.11.6 XE 1.11.6 이후 보안배치 #1 xetown  2021.06.22 3789
공지 1.11.6 XE 1.11.6 이하 에서 공개댓글을 비밀댓글로 변경시 생길 수 있는 오류 수정법 sejin7940  2021.01.10 3714
공지 XE 기능개선 XE 1.11.4 이후에서 파일 업로드시 정상 작동 안 하는 현상 수정법 XE github  2019.04.02 6469
공지 XE 기능개선 php 7.1 환경에서 XE 오류 나는 경우 확인할 사항 sejin7940  2018.07.11 6388
공지 유용정보 php7.2 환경에서 XE 오류가 생기는 경우 - Object 클래스 변경 필요 XE Github  2017.11.27 9969
공지 XE 기능개선 XE 1.8.30 이하에서 반드시 수정해주셔야하는 부분입니다. XE 1.8.31  2017.02.26 7174
공지 1.8.18 XE 1.8.18 에서 사용시 반드시 수정해야할 사항들 ( XE 1.8.20 이후에서는 수정 불필요 ) xetown  2016.04.03 26298
공지 XE 기능개선 XE 1.8.12 이후부터 proc controller 일부가 작동 안 할 경우 확인할 부분 [1] XE  2015.10.16 26207
689 유용정보 이미지와 텍스트 동시 사용시 중앙정렬   2011.10.19 6147
688 1.5 버그 확장변수 있는 글을 이동시 발생하는 버그(수정안됨) 해결방법   2012.04.01 4996
687 XE 기능개선 XE 1.5 에서 관리자 무제한 추천 기능   2012.05.07 6285
686 유용정보 성인인지 체크하는 php 소스   2012.05.23 6432
685 유용정보 DB table 에 항목 하나 추가한 경우.. 스키마에 반드시 추가해야함   2012.09.20 5359
684 유용정보 ereg 함수등, php 함수들 관련에러시 php 버전을 확인해볼것   2012.11.11 5099
683 XE 기능개선 모바일 통합검색 기능 구현방법   2013.05.18 5161
682 유용정보 CSS로 스크롤 바 스타일 지정하기(IE, Safari, Chrome) /'pəlp/  2012.12.30 8516
681 XE 기능개선 영문 단어의 첫자를 대분자로. 또는 문장 전체의 첫단어의 첫글자만 대문자로 allthatyou  2019.02.28 395
680 XE 기능개선 모바일 레이아웃에서 제일 위에 주소창 배경색상 넣기 Attrest  2019.03.07 309
679 유용정보 유튜브 youtube , 비메오등 iframe 이나 embed 기반의 영상 크기 반응형화 되도록 avex  2015.08.10 1177
678 유용정보 랜덤 문자열 생성 함수 Blog Goooood.net  2017.01.09 298
677 유용정보 XE 에서 slow query 찾아내는 방법 BNU  2013.05.20 4875
676 유용정보 파일이 길 경우 에러가 나는 경우 해결방법 [1] BNU  2013.07.08 3106
675 유용정보 input text 형태에서 onchange 나 change 등의 명령이 안 먹는 현상 수정방법 brandonaaskov  2019.02.19 327
674 유용정보 크롬에서 HOME END 키가 안먹히고, 페이지 안의 글자 또는 그림 객체들이 선택될때 chrome 고객센터  2021.09.15 258
673 XE 기능개선 ckeditor toobar 항목값들 안내 ckeditor  2016.08.18 311
672 유용정보 mysql 깨진 table repair 하는 방법 ckwnan  2013.03.02 6485
671 유용정보 HTML5의 placeholder 속성 clearboth  2013.06.21 5297
670 유용정보 웹브라우저 호환되는 투명도 설정법 (alpha,opacity) CMS Factory  2010.02.11 7293
XE Login