게시판 모듈에 각 게시판별도 등록된 태그를 보는 기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3088 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-11-27 07:26:38 +00:00
parent feae5bda9b
commit cd36ff5718
8 changed files with 104 additions and 5 deletions

View file

@ -22,6 +22,7 @@
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminContent');
$oModuleController->insertActionForward('board', 'view', 'dispBoardTagList');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminBoardInfo');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminInsertBoard');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminDeleteBoard');
@ -76,6 +77,11 @@
**/
if(!$oModuleModel->getActionForward('dispBoardAdminBoardAdditionSetup')) return true;
/**
* 2007. 11. 27 : 태그 목록 보기 액션 설정
**/
if(!$oModuleModel->getActionForward('dispBoardTagList')) return true;
return false;
}
@ -96,6 +102,12 @@
if(!$oModuleModel->getActionForward('dispBoardAdminBoardAdditionSetup'))
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminBoardAdditionSetup');
/**
* 2007. 11. 27 : 태그 목록 보기 액션 설정
**/
if(!$oModuleModel->getActionForward('dispBoardTagList'))
$oModuleController->insertActionForward('board', 'view', 'dispBoardTagList');
return new Object(0, 'success_updated');
}

View file

@ -150,6 +150,37 @@
$this->setTemplateFile('list');
}
/**
* @brief 태그 목록 모두 보기
**/
function dispBoardTagList() {
// 권한 체크
if(!$this->grant->list) return $this->dispBoardMessage('msg_not_permitted');
// 태그 모델 객체에서 태그 목록을 구해옴
$oTagModel = &getModel('tag');
$obj->mid = $this->module_info->mid;
$obj->list_count = 10000;
$output = $oTagModel->getTagList($obj);
// 내용을 랜던으로 정렬
if(count($output->data)) {
$numbers = array_keys($output->data);
shuffle($numbers);
if(count($output->data)) {
foreach($numbers as $k => $v) {
$tag_list[] = $output->data[$v];
}
}
}
Context::set('tag_list', $tag_list);
$this->setTemplateFile('tag_list');
}
/**
* @brief 작성 화면 출력

View file

@ -46,6 +46,7 @@
</grants>
<permissions>
<permission action="dispBoardContent" target="manager" />
<permission action="dispBoardTagList" target="manager" />
<permission action="dispBoardWrite" target="manager" />
<permission action="dispBoardDelete" target="manager" />
<permission action="dispBoardReplyComment" target="manager" />
@ -76,6 +77,7 @@
</permissions>
<actions>
<action name="dispBoardContent" type="view" index="true" />
<action name="dispBoardTagList" type="view" />
<action name="dispBoardWrite" type="view" />
<action name="dispBoardDelete" type="view" />
<action name="dispBoardReplyComment" type="view" />

View file

@ -296,3 +296,16 @@ Jeong, Chan Myeong 070601~070630
/* 게시물의 팝업 메뉴 */
.comment_popup_menu, .document_popup_menu { text-align:right; margin-top:3em; clear:both; display:block; background:url(../images/common/document_menu.gif) no-repeat right top; padding-right:16px; height:18px; }
.comment_popup_menu span, .document_popup_menu span { cursor:pointer; display:inline; background:none; padding:0 0 0 0; margin:0 0 0 0; }
/* tag list */
.tagsBox { border:1px solid #EEEEEE; padding:10px; overflow:hidden;}
.tags { width:100%; }
.tags div { float:left; padding:2px; margin-right:10px; overflow:hidden; white-space:nowrap; height:15px;}
.tags div a { text-decoration:none; color:#555555; line-height:150%;}
.tags div a:hover { background-color:#888888; color:#FFFFFF;}
.tags .tagTypeA a { color:#fe3614; font-weight:bold; font-size:12pt; background-color:#EFEFEF; margin:0;}
.tags .tagTypeB a { color:#fe3614; font-size:11pt; margin:0;}
.tags .tagTypeC a { font-weight:bold; font-size:11pt; margin:0; background-color:#EFEFEF;}
.tags .tagTypeD a { font-weight:bold; margin:0; background-color:#EFEFEF;}
.tags .tagTypeE a { font-weight:normal; margin:0;}

View file

@ -103,6 +103,8 @@
<li class="skin_info"><a href="{getUrl('','module','module','act','dispModuleSkinInfo','selected_module',$module_info->module, 'skin', $module_info->skin)}" onclick="popopen(this.href,'skinInfo'); return false;"><img src="./images/common/buttonHelp.gif" alt="Skin Info" width="13" height="13"/></a></li>
<li class="tag_info"><a href="{getUrl('act','dispBoardTagList')}"><img src="./images/common/iconAllTags.gif" alt="Tag list" width="13" height="13"/></a></li>
<!-- 목록형태 (포럼형이 기본으로 되어 있을 경우 다른 형태를 지정 못하게 함) -->
<!--@if($module_info->default_style != 'forum')-->
<li class="listType"><a href="{getUrl('listStyle','list')}"><img src="./images/common/typeList.gif" border="0" width="13" height="13" alt="List" /></a></li>

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

View file

@ -0,0 +1,39 @@
<!-- header.html include -->
<!--#include("header.html")-->
<!-- print tags -->
<div class="tagsBox">
<div class="tags">
<!--@foreach($tag_list as $val)-->
<!--@if($val->count>5)-->
{@ $tag_class = "tagTypeA" }
<!--@elseif($val->count>3)-->
{@ $tag_class = "tagTypeB" }
<!--@elseif($val->count>2)-->
{@ $tag_class = "tagTypeC" }
<!--@elseif($val->count>1)-->
{@ $tag_class = "tagTypeD" }
<!--@else-->
{@ $tag_class = "tagTypeE" }
<!--@end-->
<div <!--@if($tag_class)-->class="{$tag_class}"<!--@end--> >
<!--@if($layout_info->mid)-->
<a href="{getUrl('','mid',$layout_info->mid,'search_target','tag','search_keyword',urlencode($val->tag))}">{htmlspecialchars($val->tag)}</a>
<!--@else-->
<a href="{getUrl('','mid',$mid,'search_target','tag','search_keyword',urlencode($val->tag))}">{htmlspecialchars($val->tag)}</a>
<!--@end-->
</div>
<!--@end-->
<div class="clear"></div>
</div>
</div>
<div class="clear"></div>
<div class="rightButtonBox">
<a href="{getUrl('act','')}" class="button"><span>{$lang->cmd_back}</span></a>
</div>
<!--#include("footer.html")-->

View file

@ -29,17 +29,17 @@
$oTagModel = &getModel('tag');
$output = $oTagModel->getTagList($obj);
// 내용을 랜던으로 정렬
$numbers = array_keys($output->data);
shuffle($numbers);
// 템플릿 파일에서 사용할 변수들을 세팅
if(count($mid_list)==1) $widget_info->module_name = $mid_list[0];
$widget_info->title = $title;
if(count($output->data)) {
// 내용을 랜던으로 정렬
$numbers = array_keys($output->data);
shuffle($numbers);
foreach($numbers as $k => $v) {
$widget_info->tag_list[] = $output->data[$v];
}