테스트 : 현재 이 게시판은 게시물에 댓글을 작성하거나 추천을 해야 첨부파일을 다운로드 할 수 있도록 적용 중입니다.
XE가 1.2.0 버전으로 올라오면서 게시물의 확장 변수 값에 대한 DB 저장 방식이 바뀌었습니다.
그래서, 1.1.6 이하 버전에서 1.2.0 이상 버전으로 업그레이드할 때 게시물의 확장 변수값들을 새로운 DB 형태로 저장하게 되는데, 이 과정에서 일부 값만 이동되고 나머지 값들은 소실되는 문제점이 있습니다.
현재 이 문제는 수정한 상태입니다만, 다음 배포본에나 추가될 예정입니다.
따라서, 다음 배포본이 나오기 이전에 1.1.6 이하 버전에서 업그레이드를 하실 분들은 아래 패치를 적용하신 후에 업그레이드를 하시기 바랍니다.
수정해줘야할 파일은 modules/module/module.class.php 파일입니다.
1.2.1 버전을 기준으로 위 파일에서 183번째 줄에
그래서, 1.1.6 이하 버전에서 1.2.0 이상 버전으로 업그레이드할 때 게시물의 확장 변수값들을 새로운 DB 형태로 저장하게 되는데, 이 과정에서 일부 값만 이동되고 나머지 값들은 소실되는 문제점이 있습니다.
현재 이 문제는 수정한 상태입니다만, 다음 배포본에나 추가될 예정입니다.
따라서, 다음 배포본이 나오기 이전에 1.1.6 이하 버전에서 업그레이드를 하실 분들은 아래 패치를 적용하신 후에 업그레이드를 하시기 바랍니다.
수정해줘야할 파일은 modules/module/module.class.php 파일입니다.
1.2.1 버전을 기준으로 위 파일에서 183번째 줄에
와 같은 내용이 있습니다. 이 부분을 아래와 같이 수정합니다.modules/module/module.class.php수정 전// 게시글 확장변수 키 등록 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수정 후// 게시글 확장변수 키 등록 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 디렉토리를
백업하는 습관을 가지면, 업그레이드를 진행하면서 문제가 발생했을 때 복구할 수 있는 확률이 높아집니다. 물론 이런 일이 없도록 해야함이
배포자 mooo
최선이겠지만요.
현재평점 4.5 (평가자 수 : 2)
여기에서 행복한 시간 되십시오.