아래는 게시글과 파일 그리고 사용자 정의 변수 값을 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;
}건투를 빕니다~!^^
참고글: