아래는 게시글과 파일 그리고 사용자 정의 변수 값을 XE에 게시물로 등록하기 위한 예제 코드 입니다.
세가지 항목 모두를 담아놓은 정보가 없어서 이렇게 정리해 봅니다^^
define('__XE__', true); //xe 경로를 맞춰 주세요 require_once('../xe/config/config.inc.php'); require_once('../xe/modules/document/document.controller.php'); require_once('../xe/modules/file/file.controller.php'); $oContext = &Context::getInstance(); $oContext->init(); function writeToBoard($title, $content, $name, $tags, $extra_val_1, $extra_val_2, $member_email, $member_srl, $category, $module_srl) { $document_srl = getNextSequence(); $obj->document_srl = $document_srl; $obj->category_srl = $category; $obj->module_srl = $module_srl; $obj->title = $title; $obj->content = $content; $obj->tags = $tags; $obj->allow_comment = 'Y'; $obj->allow_trackback = 'Y'; $obj->user_id = "airpage"; $obj->user_name = $name; $obj->nick_name = $name; $obj->member_srl = $member_srl; $obj->email_address = $member_email; $oDocumentController = &getController('document'); $output = $oDocumentController->insertDocument($obj, true); if($output->error != 0) return -1; $param['module_srl'] = $module_srl; $param['document_srl'] = $document_srl; $values = array(); $values[0] = array( "index" => "1", "name" => "extra_a", "value" => $extra_val_1 ); $values[1] = array( "index" => "2", "name" => "extra_b", "value" => $extra_val_2 ); $res = writeExtraVar($param, $values); if($res != 0) return -1; $res = uploadFile($module_srl, $document_srl); if($res != 0) return -1; return 0; } // 사용자 변수를 기록하는 방법입니다 function writeExtraVar($param, $values) { $module_srl = $param['module_srl']; $document_srl = $param['document_srl']; $oDocumentController = &getController('document'); for($values as $val) { $output = $oDocumentController->insertDocumentExtraVar($module_srl, $document_srl, $val['index'], $val['value'], $val['name']); if ($output->error != 0) { $res = array( "error" => $output->error, "desc" => "writeToExtra" ); return $res; } } $res = array( "error" => 0, "desc" => "writeToExtra" ); return $res; } // 파일을 업로드 하는 방법입니다 function uploadFile($module_srl, $document_srl) { $file_data = $_FILES["fileupload"]; if($file_data["name"]){ $target_srl = $document_srl; $oFileController = &getController('file'); $count = 0; $manual = true; $res = $oFileController->insertFile($file_data, $module_srl, $target_srl, $count, $manual); $oDB = &DB::getInstance(); $db_prefix = $oDB->prefix; $cnt = 1; $query_str = "update $db_prefix" . "documents set uploaded_count = $cnt where document_srl=$target_srl "; $query = $oDB->_query($query_str); $result = $oDB->_fetch($query); $query_str = " update $db_prefix" . "files set isvalid='Y' where upload_target_srl=$target_srl "; $query = $oDB->_query($query_str); $result = $oDB->_fetch($query); if($result->error != 0) return -1; } return 0; }
건투를 빕니다~!^^
참고글:
이 게시물이 | |
AiRPAGE가 |