최근 xe를 열라 만지고있다.. ㄷㄷ
복잡도는 가히 머리가아플지경이지만.. 좀 보다보니 -_- 이제 좀 그냥 보이기시작했다;
잡설은 이정도.
아래는 해당 부분 소스 -.-
콘솔모드에서 실행하기바람~
당연하지만 변수구성은 동일해야하고 순서 명칭도 동일해야함
부가적으로 document_srl 을 추가해두면.. 복사한 원본 srl 을 넣어줌 'ㅅ'); 이건 부가기능(?)
#!/home/php/bin/php -q <? $document_root = "XE 홈 절대 경로"; /* XE Module */ define('__ZBXE__', true); require_once($document_root."/config/config.inc.php"); $oContext = &Context::getInstance(); $oContext->init(); $oDB =&DB::getInstance(); /*XE Module */ ini_set('display_errors', 1); if(!$argv[1] || !$argv[2]){ echo ">>> 게시물 복사(확장변수포함)\n"; echo "usage : migration 소스모듈번호 대상모듈번호"; echo "\n"; } // xe 함수 /modules/document/document.admin.controller.php $admDocument = &getAdminController('document'); // 강제 로그인 처리 insert시에 에러가남; $oMemberModel = &getModel('member'); $memberInfo = $oMemberModel->getMemberInfoByUserID('xe 관리자 아이디'); Context::set('logged_info', $memberInfo); $sour_module_srl = $argv[1]; $dest_module_srl = $argv[2]; $query = " select document_srl from xe_documents a where a.module_srl='{$sour_module_srl}' order by a.document_srl asc "; $rs1 = mysql_query($query); echo "총 게시물 수 : "; echo $rows = mysql_num_rows($rs1); echo "\n"; while($row = mysql_fetch_array($rs1)){ $output = $admDocument->copyDocumentModule(array($row['document_srl']), $dest_module_srl, 0); // copy to eid foreach( $output->variables['copied_srls'] as $k=>$v) { echo ">> copy --- ". $k ." => ". $v . "\n"; $query = "insert into xe_document_extra_vars (module_srl,document_srl,var_idx,lang_code,value,eid) (SELECT '{$dest_module_srl}','{$v}',var_idx,lang_code,value,eid FROM xe_document_extra_vars WHERE module_srl='{$k}')"; // 확장 변수 카피 $query = " update xe_document_extra_vars a, xe_document_extra_vars b set a.lang_code=b.lang_code, a.value=b.value, a.eid=b.eid where a.eid=b.eid and a.document_srl='{$v}' and b.document_srl='{$k}' "; mysql_query($query); // 추가 변수 갱신 구 document_srl $query = " update xe_document_extra_vars set value='{$k}' where document_srl='{$v}' and eid='document_srl' "; mysql_query($query); // 등록,수정 일자 카피 $query = " update xe_documents a, xe_documents b set a.regdate=b.regdate, a.last_update=b.last_update where a.document_srl='{$v}' and b.document_srl='{$k}' "; mysql_query($query); } } ?>
'XE' 카테고리의 다른 글
XE 확장변수 설정 복사 (0) | 2013.12.10 |
---|