mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 02:10:02 +09:00
board api 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5166 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f788064050
commit
c40ea62b34
11 changed files with 175 additions and 31 deletions
87
modules/board/board.api.php
Normal file
87
modules/board/board.api.php
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
<?php
|
||||
/**
|
||||
* @class boardAPI
|
||||
* @author sol(sol@ngleader.com)
|
||||
* @brief board 모듈의 View Action에 대한 API 처리
|
||||
**/
|
||||
|
||||
class boardAPI extends board {
|
||||
|
||||
/* dispBoardContent 는 사용하지 않는다..
|
||||
function dispBoardContent(&$oModule) {
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief 공지사항 목록
|
||||
**/
|
||||
function dispBoardNoticeList(&$oModule) {
|
||||
$oModule->add('notice_list',$this->arrangeContentList(Context::get('notice_list')));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 컨텐츠 목록
|
||||
**/
|
||||
function dispBoardContentList(&$oModule) {
|
||||
$oModule->add('document_list',$this->arrangeContentList(Context::get('document_list')));
|
||||
$oModule->add('page_navigation',Context::get('page_navigation'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 카테고리(분류) 목록
|
||||
**/
|
||||
function dispBoardCatogoryList(&$oModule) {
|
||||
$oModule->add('category_list',Context::get('category_list'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 게시물 보기
|
||||
**/
|
||||
function dispBoardContentView(&$oModule) {
|
||||
$oModule->add('oDocument',$this->arrangeContent(Context::get('oDocument')));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 태그 목록
|
||||
**/
|
||||
function dispBoardTagList(&$oModule) {
|
||||
$oModule->add('tag_list',Context::get('tag_list'));
|
||||
}
|
||||
|
||||
|
||||
function dispBoardConentCommentList(&$oModule) {
|
||||
$oModule->add('comment_list',$this->arrangeComment(Context::get('comment_list')));
|
||||
}
|
||||
|
||||
function arrangeContentList($content_list) {
|
||||
$output = array();
|
||||
if(count($content_list)) {
|
||||
foreach($content_list as $key => $val) $output[] = $this->arrangeContent($val);
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
function arrangeContent($content) {
|
||||
$output = null;
|
||||
if($content){
|
||||
$output= $content->gets('document_srl','category_srl','is_secret','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars1','extra_vars2','extra_vars3','extra_vars4','extra_vars5','extra_vars6','extra_vars7','extra_vars8','extra_vars9','extra_vars10','extra_vars11','extra_vars12','extra_vars13','extra_vars14','extra_vars15','extra_vars16','extra_vars17','extra_vars18','extra_vars19','extra_vars20');
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
function arrangeComment($comment_list) {
|
||||
$output = array();
|
||||
if(count($comment_list)) {
|
||||
foreach($comment_list as $key => $val){
|
||||
$item = null;
|
||||
$item = $val->gets('comment_srl','parent_srl','depth','is_secret','content','voted_count','blamed_count','user_id','user_name','nick_name','email_address','homepage','regdate','last_update');
|
||||
$output[] = $item;
|
||||
}
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -67,10 +67,8 @@
|
|||
/**
|
||||
* 카테고리를 사용하는지 확인후 사용시 카테고리 목록을 구해와서 Context에 세팅
|
||||
**/
|
||||
if($this->module_info->use_category=='Y') {
|
||||
$oDocumentModel = &getModel('document');
|
||||
Context::set('category_list', $oDocumentModel->getCategoryList($this->module_srl));
|
||||
}
|
||||
$this->dispBoardCatogoryList();
|
||||
|
||||
|
||||
/**
|
||||
* 목록이 노출될때 같이 나오는 검색 옵션을 정리하여 스킨에서 쓸 수 있도록 context set
|
||||
|
|
@ -82,14 +80,34 @@
|
|||
for($i=1;$i<=20;$i++) {
|
||||
$ex_name = trim($this->module_info->extra_vars[$i]->name);
|
||||
if(!$ex_name) continue;
|
||||
|
||||
if($this->module_info->extra_vars[$i]->search == 'Y') $search_option['extra_vars'.$i] = $ex_name;
|
||||
}
|
||||
Context::set('search_option', $search_option);
|
||||
|
||||
/**
|
||||
* 게시글 목록을 추출함
|
||||
**/
|
||||
|
||||
// 게시글을 가져옴
|
||||
$this->dispBoardContentView();
|
||||
|
||||
// 공지사항 목록을 구해서 context set (공지사항을 매페이지 제일 상단에 위치하기 위해서)
|
||||
$this->dispBoardNoticeList();
|
||||
|
||||
// 목록
|
||||
$this->dispBoardContentList();
|
||||
|
||||
// template_file을 list.html로 지정
|
||||
$this->setTemplateFile('list');
|
||||
}
|
||||
|
||||
function dispBoardCatogoryList(){
|
||||
if($this->module_info->use_category=='Y') {
|
||||
$oDocumentModel = &getModel('document');
|
||||
Context::set('category_list', $oDocumentModel->getCategoryList($this->module_srl));
|
||||
}
|
||||
}
|
||||
|
||||
function dispBoardContentView(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
|
||||
|
||||
// 목록 구현에 필요한 변수들을 가져온다
|
||||
$document_srl = Context::get('document_srl');
|
||||
|
|
@ -135,9 +153,7 @@
|
|||
if(!$this->grant->view && !$oDocument->isGranted()) {
|
||||
$oDocument = null;
|
||||
$oDocument = $oDocumentModel->getDocument(0);
|
||||
|
||||
Context::set('document_srl','',true);
|
||||
|
||||
$this->alertMessage('msg_not_permitted');
|
||||
} else {
|
||||
// 브라우저 타이틀에 글의 제목을 추가
|
||||
|
|
@ -145,21 +161,49 @@
|
|||
|
||||
// 조회수 증가 (비밀글일 경우 권한 체크)
|
||||
if(!$oDocument->isSecret() || $oDocument->isGranted()) $oDocument->updateReadedCount();
|
||||
|
||||
// 비밀글일때 컨텐츠를 보여주지 말자.
|
||||
if($oDocument->isSecret() && !$oDocument->isGranted()){
|
||||
$oDocument->add('content',Context::getLang('thisissecret'));
|
||||
$obj = null;
|
||||
for($i=1;$i<=20;$i++) $obj->{"extra_vars".$i} = '';
|
||||
$oDocument->adds($obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 스킨에서 사용하기 위해 context set
|
||||
Context::set('oDocument', $oDocument);
|
||||
}
|
||||
|
||||
// 공지사항 목록을 구해서 context set (공지사항을 매페이지 제일 상단에 위치하기 위해서)
|
||||
function dispBoardContentCommentList(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$document_srl = Context::get('document_srl');
|
||||
$oDocument = $oDocumentModel->getDocument($document_srl);
|
||||
$comment_list = $oDocument->getComments();
|
||||
|
||||
// 비밀글일때 컨텐츠를 보여주지 말자.
|
||||
foreach($comment_list as $key => $val){
|
||||
if(!$val->isAccessible()){
|
||||
$val->add('content',Context::getLang('thisissecret'));
|
||||
}
|
||||
}
|
||||
Context::set('comment_list',$comment_list);
|
||||
}
|
||||
|
||||
function dispBoardNoticeList(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
|
||||
|
||||
$notice_output = $oDocumentModel->getNoticeList($args);
|
||||
Context::set('notice_list', $notice_output->data);
|
||||
}
|
||||
|
||||
function dispBoardContentList(){
|
||||
$oDocumentModel = &getModel('document');
|
||||
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
|
||||
// 목록을 구하기 위한 대상 모듈/ 페이지 수/ 목록 수/ 페이지 목록 수에 대한 옵션 설정
|
||||
$args->page = $page; ///< 페이지
|
||||
$args->page = Context::get('page');; ///< 페이지
|
||||
$args->list_count = $this->list_count; ///< 한페이지에 보여줄 글 수
|
||||
$args->page_count = $this->page_count; ///< 페이지 네비게이션에 나타날 페이지의 수
|
||||
|
||||
|
|
@ -199,11 +243,9 @@
|
|||
Context::set('total_page', $output->total_page);
|
||||
Context::set('page', $output->page);
|
||||
Context::set('page_navigation', $output->page_navigation);
|
||||
|
||||
// template_file을 list.html로 지정
|
||||
$this->setTemplateFile('list');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 태그 목록 모두 보기
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -3,43 +3,43 @@
|
|||
<grants>
|
||||
<grant name="list" default="guest">
|
||||
<title xml:lang="ko">목록</title>
|
||||
<title xml:lang="zh-CN">目录</title>
|
||||
<title xml:lang="zh-CN">目录</title>
|
||||
<title xml:lang="jp">リスト</title>
|
||||
<title xml:lang="en">list</title>
|
||||
<title xml:lang="es">Lista</title>
|
||||
<title xml:lang="zh-TW">列表</title>
|
||||
<title xml:lang="es">Lista</title>
|
||||
<title xml:lang="zh-TW">列表</title>
|
||||
</grant>
|
||||
<grant name="view" default="guest">
|
||||
<title xml:lang="ko">열람</title>
|
||||
<title xml:lang="zh-CN">查看</title>
|
||||
<title xml:lang="zh-CN">查看</title>
|
||||
<title xml:lang="jp">閲覧</title>
|
||||
<title xml:lang="en">view</title>
|
||||
<title xml:lang="es">Opinión</title>
|
||||
<title xml:lang="zh-TW">檢視</title>
|
||||
<title xml:lang="es">Opinión</title>
|
||||
<title xml:lang="zh-TW">檢視</title>
|
||||
</grant>
|
||||
<grant name="write_document" default="guest">
|
||||
<title xml:lang="ko">글 작성</title>
|
||||
<title xml:lang="zh-CN">发表新主题</title>
|
||||
<title xml:lang="zh-CN">发表新主题</title>
|
||||
<title xml:lang="jp">書き込み作成</title>
|
||||
<title xml:lang="en">write document</title>
|
||||
<title xml:lang="es">Escribir el documento</title>
|
||||
<title xml:lang="zh-TW">發表主題</title>
|
||||
<title xml:lang="es">Escribir el documento</title>
|
||||
<title xml:lang="zh-TW">發表主題</title>
|
||||
</grant>
|
||||
<grant name="write_comment" default="guest">
|
||||
<title xml:lang="ko">댓글 작성</title>
|
||||
<title xml:lang="zh-CN">发表评论</title>
|
||||
<title xml:lang="zh-CN">发表评论</title>
|
||||
<title xml:lang="jp">コメント作成</title>
|
||||
<title xml:lang="en">write comment</title>
|
||||
<title xml:lang="es">Escribir comentario</title>
|
||||
<title xml:lang="zh-TW">發表評論</title>
|
||||
<title xml:lang="es">Escribir comentario</title>
|
||||
<title xml:lang="zh-TW">發表評論</title>
|
||||
</grant>
|
||||
<grant name="manager" default="root">
|
||||
<title xml:lang="ko">관리</title>
|
||||
<title xml:lang="zh-CN">管理</title>
|
||||
<title xml:lang="zh-CN">管理</title>
|
||||
<title xml:lang="jp">管理</title>
|
||||
<title xml:lang="en">manager</title>
|
||||
<title xml:lang="es">Administrador</title>
|
||||
<title xml:lang="zh-TW">管理</title>
|
||||
<title xml:lang="es">Administrador</title>
|
||||
<title xml:lang="zh-TW">管理</title>
|
||||
</grant>
|
||||
</grants>
|
||||
<permissions>
|
||||
|
|
@ -81,6 +81,13 @@
|
|||
</permissions>
|
||||
<actions>
|
||||
<action name="dispBoardContent" type="view" index="true" />
|
||||
<action name="dispBoardNoticeList" type="view" />
|
||||
<action name="dispBoardContentList" type="view" />
|
||||
<action name="dispBoardContentView" type="view" />
|
||||
<action name="dispBoardCatogoryList" type="view" />
|
||||
<action name="dispBoardContentCommentList" type="view" />
|
||||
|
||||
|
||||
<action name="dispBoardTagList" type="view" />
|
||||
<action name="dispBoardWrite" type="view" />
|
||||
<action name="dispBoardDelete" type="view" />
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
$lang->search_result = 'Search Result';
|
||||
$lang->consultation = 'Consultation';
|
||||
$lang->secret = 'Secret';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = "Administrator's Mail";
|
||||
|
||||
// words used in button
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
$lang->search_result = 'Resultado de la búsqueda';
|
||||
$lang->consultation = '상담 기능';
|
||||
$lang->secret = '비밀글 기능';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = '관리자 메일';
|
||||
|
||||
// Palabras utilizadas en los botones
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
$lang->search_result = 'Résultat de la Recherche';
|
||||
$lang->consultation = 'Consultation';
|
||||
$lang->secret = '비밀글 기능';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = 'Mél de l\'administrateur';
|
||||
|
||||
// Mots utilisés en bouton
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
$lang->search_result = '検索結果';
|
||||
$lang->consultation = '相談機能';
|
||||
$lang->secret = '秘密文機能';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = '管理者メールアドレス';
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
$lang->search_result = '검색결과';
|
||||
$lang->consultation = '상담 기능';
|
||||
$lang->secret = '비밀글 기능';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = '관리자 메일';
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
$lang->search_result = 'Результат поиска';
|
||||
$lang->consultation = '상담 기능';
|
||||
$lang->secret = '비밀글 기능';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = '관리자 메일';
|
||||
|
||||
// слова, использованные в кнопке
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
$lang->search_result = '搜索结果';
|
||||
$lang->consultation = '咨询功能';
|
||||
$lang->secret = '密帖';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = '管理员电子邮件';
|
||||
|
||||
// 按钮语言
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
$lang->search_result = '搜尋結果';
|
||||
$lang->consultation = '咨詢功能';
|
||||
$lang->secret = '秘密';
|
||||
$lang->thisissecret = '비밀글입니다.';
|
||||
$lang->admin_mail = '管理員電子郵件';
|
||||
|
||||
// 按鈕語言
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue