git-svn-id: http://xe-core.googlecode.com/svn/trunk@111 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-02-18 16:12:20 +00:00
parent 4db7dc54f9
commit 8a5afd4289
2 changed files with 104 additions and 75 deletions

View file

@ -23,28 +23,26 @@
$user_id = Context::get('user_id');
$password = Context::get('password');
// member모듈 객체 생성
$oMember = getModule('member');
return $oMember->doLogin($user_id, $password);
// member모듈 controller 객체 생성
$oMemberController = getController('member');
return $oMemberController->doLogin($user_id, $password);
}
/**
* @brief 로그아웃
**/
function procLogout() {
// member모듈 객체 생성
$oMember = getModule('member');
return $oMember->doLogout();
// member모듈 controller 객체 생성
$oMemberController = getController('member');
return $oMemberController->doLogout();
}
/**
* @brief 문서 입력
**/
function procInsertDocument() {
// 글작성시 필요한 변수를 가져옴
// 글작성시 필요한 변수를 세팅
$obj = Context::getRequestVars();
//$obj = Context::gets('document_srl','user_name','email_address','homepage','tags','title','content','password','allow_comment','lock_comment','allow_trackback','category_srl','is_notice','is_secret');
$obj->module_srl = $this->module_srl;
if($obj->is_notice!='Y') $obj->is_notice = 'N';
if($obj->is_secret!='Y') $obj->is_secret = 'N';
@ -52,19 +50,23 @@
if($obj->lock_comment!='Y') $obj->lock_comment = 'N';
if($obj->allow_trackback!='Y') $obj->allow_trackback = 'N';
// document module 객체 생성
$oDocument = getModule('document');
// file의 Model객체 생성
$oFileModel = getModel('file');
// 첨부 파일의 갯수를 구함
$obj->uploaded_count = $oDocument->getFilesCount($obj->document_srl);
$obj->uploaded_count = $oFileModel->getFilesCount($obj->document_srl);
// document module controller 객체 생성
$oDocumentController = getController('document');
// 이미 존재하는 글인지 체크
$document = $oDocument->getDocument($obj->document_srl);
$document = $oDocumentController->getDocument($obj->document_srl);
// 이미 존재하는 경우 수정
if($document->document_srl == $obj->document_srl) {
$output = $oDocument->updateDocument($document, $obj);
$msg_code = 'success_updated';
// 그렇지 않으면 신규 등록
} else {
$output = $oDocument->insertDocument($obj);
@ -76,8 +78,8 @@
$trackback_url = Context::get('trackback_url');
$trackback_charset = Context::get('trackback_charset');
if($trackback_url) {
$oTrackback = getModule('trackback');
$oTrackback->sendTrackback($obj, $trackback_url, $trackback_charset);
$oTrackbackController = getController('trackback');
$oTrackbackController->sendTrackback($obj, $trackback_url, $trackback_charset);
}
if(!$output->toBool()) return $output;
@ -94,13 +96,18 @@
$document_srl = Context::get('document_srl');
if(!$document_srl) return $this->doError('msg_invalid_document');
// 문서 있는지 확인
$oDocument = getModule('document');
$document = $oDocument->getDocument($document_srl);
// document module model 객체 생성
$oDocumentModel = getModel('document');
// 문서가 있는지 확인
$document = $oDocumentModel->getDocument($document_srl);
if($document->document_srl!=$document_srl) return $this->doError('msg_invalid_document');
// document module controller 객체 생성
$oDocumentController = getController('document');
// 글 삭제
$output = $oDocument->deleteDocument($document);
$output = $oDocumentController->deleteDocument($document);
if(!$output->toBool()) return $output;
$this->add('mid', Context::get('mid'));
@ -112,9 +119,11 @@
* @brief 추천
**/
function procVoteDocument() {
$oDocument = getModule('document');
// document module controller 객체 생성
$oDocumentController = getController('document');
$document_srl = Context::get('document_srl');
return $oDocument->updateVotedCount($document_srl);
return $oDocumentController->updateVotedCount($document_srl);
}
/**
@ -125,29 +134,36 @@
$obj = Context::gets('document_srl','comment_srl','parent_srl','content','password','nick_name','user_name','member_srl','email_address','homepage');
$obj->module_srl = $this->module_srl;
// comment 객체 생성
$oComment = getModule('comment');
// comment 모듈의 controller 객체 생성
$oCommentController = getController('comment');
// comment 모듈의 model 객체 생성
$oCommentModel = getModel('comment');
// comment_srl이 없을 경우 신규 입력
if(!$obj->comment_srl) {
// parent_srl이 있으면 답변으로
if($obj->parent_srl) {
$comment = $oComment->getComment($obj->parent_srl);
$comment = $oCommentModel->getComment($obj->parent_srl);
if(!$comment) return new Object(-1, 'msg_invalid_request');
$output = $oComment->insertComment($obj);
$output = $oCommentController->insertComment($obj);
$comment_srl = $output->get('comment_srl');
// 없으면 신규
// 없으면 신규
} else {
$output = $oComment->insertComment($obj);
$output = $oCommentController->insertComment($obj);
}
// comment_srl이 있으면 수정으로
} else {
$comment = $oComment->getComment($obj->comment_srl);
$comment = $oCommentModel->getComment($obj->comment_srl);
if(!$comment) return new Object(-1, 'msg_invalid_request');
$obj->parent_srl = $comment->parent_srl;
$output = $oComment->updateComment($obj);
$output = $oCommentController->updateComment($obj);
$comment_srl = $obj->comment_srl;
}
@ -168,8 +184,10 @@
if(!$comment_srl) return $this->doError('msg_invalid_request');
// 삭제
$oComment = getModule('comment');
$output = $oComment->deleteComment($comment_srl);
// comment 모듈의 controller 객체 생성
$oCommentController = getController('comment');
$output = $oCommentController->deleteComment($comment_srl);
if(!$output->toBool()) return $output;
$this->add('mid', Context::get('mid'));
@ -183,8 +201,10 @@
**/
function procReceiveTrackback() {
$obj = Context::gets('document_srl','url','title','excerpt');
$oTrackback = getModule('trackback');
$oTrackback->insertTrackback($obj);
// trackback module의 controller 객체 생성
$oTrackbackController = getController('trackback');
$oTrackbackController->insertTrackback($obj);
}
/**
@ -192,14 +212,54 @@
**/
function procDeleteTrackback() {
$trackback_srl = Context::get('trackback_srl');
$oTrackback = getModule('trackback');
$output = $oTrackback->deleteTrackback($trackback_srl);
// trackback module의 controller 객체 생성
$oTrackbackController = getController('trackback');
$output = $oTrackbackController->deleteTrackback($trackback_srl);
$this->add('mid', Context::get('mid'));
$this->add('page', Context::get('page'));
$this->add('document_srl', $output->get('document_srl'));
$this->setMessage('success_deleted');
}
/**
* @brief 문서와 댓글의 비밀번호를 확인
**/
function procVerificationPassword() {
// 비밀번호와 문서 번호를 받음
$password = md5(Context::get('password'));
$document_srl = Context::get('document_srl');
$comment_srl = Context::get('comment_srl');
// comment_srl이 있을 경우 댓글이 대상
if($comment_srl) {
// 문서번호에 해당하는 글이 있는지 확인
$oCommentModel = getModel('comment');
$data = $oCommentModel->getComment($comment_srl);
// comment_srl이 없으면 문서가 대상
} else {
// 문서번호에 해당하는 글이 있는지 확인
$oDocumentModel = getModel('document');
$data = $oDocumentModel->getDocument($document_srl);
}
// 글이 없을 경우 에러
if(!$data) return $this->doError('msg_invalid_request');
// 문서의 비밀번호와 입력한 비밀번호의 비교
if($data->password != $password) return $this->doError('msg_invalid_password');
// 해당 글에 대한 권한 부여
if($comment_srl) {
$oCommentController = getController('comment');
$oCommentController->addGrant($comment_srl);
} else {
$_SESSION['own_document'][$document_srl] = true;
$oDocumentController = getController('document');
$oDocumentController->addGrant($document_srl);
}
}
/**
* @brief 첨부파일 삭제
@ -211,11 +271,12 @@
$module_srl = $this->module_srl;
$file_srl = Context::get('file_srl');
// document모듈 객체 생성후 걍 넘겨버림
$oDocumentModel = getModule('document','model');
$output = $oDocument->deleteFile($file_srl);
print $this->getUploadedFileList($document_srl);
exit();
// file class의 controller 객체 생성
$oFileController = getController('file');
$output = $oFileController->deleteFile($file_srl);
// 첨부파일의 목록을 java script로 출력
$oFileController->printUploadedFileList($document_srl);
}
/**

View file

@ -13,47 +13,15 @@
function init() {
}
/**
* @brief 문서와 댓글의 비밀번호를 확인
**/
function procVerificationPassword() {
// 비밀번호와 문서 번호를 받음
$password = md5(Context::get('password'));
$document_srl = Context::get('document_srl');
$comment_srl = Context::get('comment_srl');
// comment_srl이 있을 경우 댓글이 대상
if($comment_srl) {
// 문서번호에 해당하는 글이 있는지 확인
$oComment = getModule('comment');
$data = $oComment->getComment($comment_srl);
// comment_srl이 없으면 문서가 대상
} else {
// 문서번호에 해당하는 글이 있는지 확인
$oDocument = getModule('document');
$data = $oDocument->getDocument($document_srl);
}
// 글이 없을 경우 에러
if(!$data) return $this->doError('msg_invalid_request');
// 문서의 비밀번호와 입력한 비밀번호의 비교
if($data->password != $password) return $this->doError('msg_invalid_password');
// 해당 글에 대한 권한 부여
if($comment_srl) $_SESSION['own_comment'][$comment_srl] = true;
else $_SESSION['own_document'][$document_srl] = true;
}
/**
* @brief document_srl을 키로 하는 첨부파일을 찾아서 java script 코드로 return
**/
function getUploadedFileList($document_srl) {
// document의 Model객체 생성
$oDocumentModel = getModule('document','model');
// file의 Model객체 생성
$oFileModel = getModel('file');
// 첨부파일 목록을 구함
$file_list = $oDocumentModel->getFiles($document_srl);
$file_list = $oFileModel->getFiles($document_srl);
$file_count = count($file_list);
// 루프를 돌면서 $buff 변수에 java script 코드를 생성