웹마스터 팁
page_full_width">
게시판에서 확장 변수를 쓰는 경우 1.2.0 이상 버전으로 업그레이드하기 전에 패치하시기 바랍니다.
2009.04.14 14:35
XE가 1.2.0 버전으로 올라오면서 게시물의 확장 변수 값에 대한 DB 저장 방식이 바뀌었습니다.
그래서, 1.1.6 이하 버전에서 1.2.0 이상 버전으로 업그레이드할 때 게시물의 확장 변수값들을 새로운 DB 형태로 저장하게 되는데, 이 과정에서 일부 값만 이동되고 나머지 값들은 소실되는 문제점이 있습니다.
현재 이 문제는 수정한 상태입니다만, 다음 배포본에나 추가될 예정입니다.
따라서, 다음 배포본이 나오기 이전에 1.1.6 이하 버전에서 업그레이드를 하실 분들은 아래 패치를 적용하신 후에 업그레이드를 하시기 바랍니다.
수정해줘야할 파일은 modules/module/module.class.php 파일입니다.
1.2.1 버전을 기준으로 위 파일에서 183번째 줄에
와 같은 내용이 있습니다. 이 부분을 아래와 같이 수정합니다.
수정된 modules/module/module.class.php 파일을 첨부합니다.
우선 1.2.1 버전으로 파일들을 업그레이드한 후에 관리자 페이지에서 모듈 설치/업그레이드를 하기 이전에 이 파일을 modules/module/module.class.php 로 덮어쓰시기 바랍니다.
패치하기 이전에 관리자 페이지에서 모듈 설치/업그레이드를 한 경우에는 소실된 정보를 복구할 수 없습니다.
업그레이드하기 이전에는 항상 DB와 files 디렉토리를 백업하는 습관을 가지면, 업그레이드를 진행하면서 문제가 발생했을 때 복구할 수 있는 확률이 높아집니다. 물론 이런 일이 없도록 해야함이 최선이겠지만요.
그래서, 1.1.6 이하 버전에서 1.2.0 이상 버전으로 업그레이드할 때 게시물의 확장 변수값들을 새로운 DB 형태로 저장하게 되는데, 이 과정에서 일부 값만 이동되고 나머지 값들은 소실되는 문제점이 있습니다.
현재 이 문제는 수정한 상태입니다만, 다음 배포본에나 추가될 예정입니다.
따라서, 다음 배포본이 나오기 이전에 1.1.6 이하 버전에서 업그레이드를 하실 분들은 아래 패치를 적용하신 후에 업그레이드를 하시기 바랍니다.
수정해줘야할 파일은 modules/module/module.class.php 파일입니다.
1.2.1 버전을 기준으로 위 파일에서 183번째 줄에
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | // 게시글 확장변수 키 등록 if ( count ( $document_extra_keys )) { foreach ( $document_extra_keys as $var_idx => $val ) { $oDocumentController ->insertDocumentExtraKey( $module_srl , $var_idx , $val ->name, $val ->type, $val ->is_required, $val ->search, $val -> default , $val ->desc, 'extra_vars' . $var_idx ); } // 확장변수가 존재하면 확장변수 가져오기 $doc_args = null; $doc_args ->module_srl = $module_srl ; $doc_args ->list_count = 100; $doc_args ->sort_index = 'list_order' ; $doc_args ->order_type = 'asc' ; $doc_args ->page = 1; $output = executeQueryArray( 'document.getDocumentList' , $doc_args ); if ( $output ->toBool() && $output ->data && count ( $output ->data)) { foreach ( $output ->data as $document ) { if (! $document ) continue ; foreach ( $document as $key => $var ) { if ( strpos ( $key , 'extra_vars' )!==0 || !trim( $var ) || $var == 'N;' ) continue ; $var_idx = str_replace ( 'extra_vars' , '' , $key ); $oDocumentController ->insertDocumentExtraVar( $module_srl , $document ->document_srl, $var_idx , $var , 'extra_vars' . $var_idx , $lang_code ); } } $doc_args ->page++; } } |
와 같은 내용이 있습니다. 이 부분을 아래와 같이 수정합니다.
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | // 게시글 확장변수 키 등록 if ( count ( $document_extra_keys )) { foreach ( $document_extra_keys as $var_idx => $val ) { $oDocumentController ->insertDocumentExtraKey( $module_srl , $var_idx , $val ->name, $val ->type, $val ->is_required, $val ->search, $val -> default , $val ->desc, 'extra_vars' . $var_idx ); } $oDocumentModel = &getModel( 'document' ); $total_count = $oDocumentModel ->getDocumentCount( $module_srl ); if ( $total_count > 0) { $per_page = 100; $total_pages = (int) (( $total_count - 1) / $per_page ) + 1; // 확장변수가 존재하면 확장변수 가져오기 $doc_args = null; $doc_args ->module_srl = $module_srl ; $doc_args ->list_count = $per_page ; $doc_args ->sort_index = 'list_order' ; $doc_args ->order_type = 'asc' ; for ( $doc_args ->page = 1; $doc_args ->page <= $total_pages ; $doc_args ->page++) { $output = executeQueryArray( 'document.getDocumentList' , $doc_args ); if ( $output ->toBool() && $output ->data && count ( $output ->data)) { foreach ( $output ->data as $document ) { if (! $document ) continue ; foreach ( $document as $key => $var ) { if ( strpos ( $key , 'extra_vars' ) !== 0 || !trim( $var ) || $var == 'N;' ) continue ; $var_idx = str_replace ( 'extra_vars' , '' , $key ); $oDocumentController ->insertDocumentExtraVar( $module_srl , $document ->document_srl, $var_idx , $var , 'extra_vars' . $var_idx , $lang_code ); } } } } // for total_pages } // if count } |
수정된 modules/module/module.class.php 파일을 첨부합니다.
우선 1.2.1 버전으로 파일들을 업그레이드한 후에 관리자 페이지에서 모듈 설치/업그레이드를 하기 이전에 이 파일을 modules/module/module.class.php 로 덮어쓰시기 바랍니다.
패치하기 이전에 관리자 페이지에서 모듈 설치/업그레이드를 한 경우에는 소실된 정보를 복구할 수 없습니다.
업그레이드하기 이전에는 항상 DB와 files 디렉토리를 백업하는 습관을 가지면, 업그레이드를 진행하면서 문제가 발생했을 때 복구할 수 있는 확률이 높아집니다. 물론 이런 일이 없도록 해야함이 최선이겠지만요.
댓글 5
-
yank
2009.04.14 14:44
-
★미노★
2009.04.14 16:16
지금 업데이트 중입니다... 감사합니다... 이 문제로 정말 고생많이 했답니다... -
띵야
2009.04.14 18:50
Wonderful..!!!
but, 이미 엎질러진 물...^^;; -
추천은 이럴 때 필요한 것이죠.!
-
얼터1
2009.04.15 00:00
당연히 DB는 백업했지만 그 이후에 새로 입력된것들도 많아서 복구하지도 못함........ 눈으로 보고 입력중....... OTL
400개의 게시물중에 300개에서 확장변수가 사라졌는데.......... 너무 힘들어요......눈 빠지고 있음....... ㅠㅠ
제목 | 글쓴이 | 날짜 |
---|---|---|
최근 이미지 출력 위젯에서 글 제목 출력을 선택항목으로 바꾸기 [6] | 必得力 | 2007.10.17 |
묻고 답하기용 게시판 [1] | yunesb | 2009.01.24 |
음악판매 [5] | 물푸레646 | 2008.12.27 |
서브 메뉴 배경색 바꾸기
[4]
![]() | Chang-Jo(창조) | 2007.08.17 |
BGM 가로스크롤바 없애는 방법.. | 청개굴이 | 2009.06.03 |
글쓴이 이메일 정보 감추기 [2] | 대암지기 | 2007.11.22 |
BGM 쓰시는분 게시판 에서 첨부파일 다운받을때 끊어지시죠?ㅎㅎ [4] | 우리아기 | 2009.05.23 |
스프링노트 연동문제 [2] | nonoboy | 2009.05.21 |
별도 페이지 로그인방법 | cornet | 2009.05.21 |
까페 아이디 삭제후 동일 아이디로 생성하는 방법 | 키스메리 | 2009.05.15 |
winxp IE7 rwapm에서 한글이름파일 업로드 [12] | 공수래 | 2007.09.17 |
페이지 및 게시판 메뉴 경로
[2]
![]() | 자반튀김 | 2009.04.15 |
1.2.2 업데이트 이후 위젯이 출력안되시는 분들 [1] [1] | 반도체맨 | 2009.05.01 |
BNU님의 Planner XE 1.2 버젼(일정관리)
[9]
![]() | 개돌 | 2009.04.21 |
[질문]회원가입시 음력생일입력 가능 한가요? [1] | 신정 | 2009.04.27 |
주민등록번호 입력 폼 추가 (1.1.5 기준) [39] | 개돌 | 2009.02.16 |
XE 위키에 최근 접속 페이지 정보 출력
![]() | 개돌 | 2009.04.27 |
초보 xe1.1.5에대한질문 [3] | 울프 | 2009.04.26 |
졸졸이 스토커 가두어보기 2탄(보드우측에 포함된 것처럼)
[1]
![]() | 갯가 | 2008.04.26 |
게시판에서 확장 변수를 쓰는 경우 1.2.0 이상 버전으로 업그레이드하기 전에 패치하시기 바랍니다.
[5]
![]() | mooo | 2009.04.14 |
추천한방 날려드립니다~~