planet_document 위젯에 중복 허용/ 비허용 기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5205 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2009-01-05 01:48:53 +00:00
parent 89cb51fd13
commit f406df3349
4 changed files with 124 additions and 7 deletions

View file

@ -79,5 +79,38 @@
<description xml:lang="ru">Вы можете установить вытсоту изображения. (стандарт: 50px)</description>
<description xml:lang="zh-TW">指定圖片高度。(預設是50px)</description>
</var>
<var id="allow_repetition">
<type>select</type>
<name xml:lang="ko">중복 허용</name>
<name xml:lang="jp">중복 허용</name>
<name xml:lang="zh-CN">중복 허용</name>
<name xml:lang="en">중복 허용</name>
<name xml:lang="ru">중복 허용</name>
<name xml:lang="zh-TW">중복 허용</name>
<description xml:lang="ko">Y로 하시면 플래닛 멤버들의 중복을 검사하지 않고 무조건 최신순으로 글을 추출하여 출력합니다</description>
<description xml:lang="jp">Y로 하시면 플래닛 멤버들의 중복을 검사하지 않고 무조건 최신순으로 글을 추출하여 출력합니다</description>
<description xml:lang="zh-CN">Y로 하시면 플래닛 멤버들의 중복을 검사하지 않고 무조건 최신순으로 글을 추출하여 출력합니다</description>
<description xml:lang="en">Y로 하시면 플래닛 멤버들의 중복을 검사하지 않고 무조건 최신순으로 글을 추출하여 출력합니다</description>
<description xml:lang="ru">Y로 하시면 플래닛 멤버들의 중복을 검사하지 않고 무조건 최신순으로 글을 추출하여 출력합니다</description>
<description xml:lang="zh-TW">Y로 하시면 플래닛 멤버들의 중복을 검사하지 않고 무조건 최신순으로 글을 추출하여 출력합니다</description>
<options>
<value>N</value>
<name xml:lang="ko">중복하지 않음</name>
<name xml:lang="en">중복하지 않음</name>
<name xml:lang="jp">중복하지 않음</name>
<name xml:lang="zh-CN">중복하지 않음</name>
<name xml:lang="es">중복하지 않음</name>
<name xml:lang="zh-TW">중복하지 않음</name>
</options>
<options>
<value>Y</value>
<name xml:lang="ko">중복 허용</name>
<name xml:lang="en">중복 허용</name>
<name xml:lang="jp">중복 허용</name>
<name xml:lang="zh-CN">중복 허용</name>
<name xml:lang="es">중복 허용</name>
<name xml:lang="zh-TW">중복 허용</name>
</options>
</var>
</extra_vars>
</widget>

View file

@ -22,11 +22,25 @@
$list_count = (int)$args->list_count;
if(!$list_count) $list_count = 5;
// 중복 허용/ 비허용 체크
if($args->allow_repetition != 'Y') {
$output = executeQueryArray('widgets.planet_document.getUniqueNewestDocuments');
} else {
$output = executeQueryArray('widgets.planet_document.getNewestDocuments');
}
// 플래닛 글 목록 구함
$oPlanetModel = &getModel('planet');
Context::set('planet', $planet = $oPlanetModel->getPlanet());
$output = $oPlanetModel->getContentList(null, 'content', '', 1, $list_count);
Context::set('planet_list', $output->data);
foreach($output->data as $key => $val) {
$document_srl = $val->document_srl;
$oPlanet = null;
$oPlanet = new PlanetItem();
$oPlanet->setAttribute($val);
$planet_list[] = $oPlanet;
}
Context::set('planet_list', $planet_list);
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
@ -35,11 +49,11 @@
// 템플릿 파일을 지정
$tpl_file = 'list';
if(!$args->thumbnail_width) $args->thumbnail_width = 50;
if(!$args->thumbnail_height) $args->thumbnail_height = 50;
$widget_info->thumbnail_width = $args->thumbnail_width;
$widget_info->thumbnail_height = $args->thumbnail_height;
Context::set('widget_info', $widget_info);
if(!$args->thumbnail_width) $args->thumbnail_width = 50;
if(!$args->thumbnail_height) $args->thumbnail_height = 50;
$widget_info->thumbnail_width = $args->thumbnail_width;
$widget_info->thumbnail_height = $args->thumbnail_height;
Context::set('widget_info', $widget_info);
// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();

View file

@ -0,0 +1,35 @@
<query id="getNewestDocuments" action="select">
<tables>
<table name="modules" alias="modules" />
<table name="planet" alias="planet" />
<table name="documents" alias="documents" />
<table name="member" alias="member" />
</tables>
<columns>
<column name="modules.mid" alias="mid" />
<column name="planet.module_srl" alias="module_srl" />
<column name="member.nick_name" alias="nick_name" />
<column name="member.user_id" alias="user_id" />
<column name="member.user_name" alias="user_name" />
<column name="member.member_srl" alias="member_srl" />
<column name="documents.document_srl" alias="document_srl" />
<column name="documents.content" alias="content" />
<column name="documents.extra_vars20" alias="extra_vars20" />
<column name="documents.extra_vars20" alias="postscript" />
<column name="documents.comment_count" alias="comment_count" />
<column name="documents.voted_count" alias="voted_count" />
<column name="documents.tags" alias="tags" />
<column name="documents.regdate" alias="regdate" />
</columns>
<conditions>
<condition operation="equal" column="planet.module_srl" default="modules.module_srl" />
<condition operation="equal" column="documents.module_srl" default="planet.module_srl" pipe="and" />
<condition operation="equal" column="member.member_srl" default="documents.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="asc" />
<list_count var="list_count" default="10" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>

View file

@ -0,0 +1,35 @@
<query id="getUniqueNewestDocuments" action="select">
<tables>
<table name="modules" alias="modules" />
<table name="planet" alias="planet" />
<table name="documents" alias="documents" />
<table name="member" alias="member" />
</tables>
<columns>
<column name="modules.mid" alias="mid" />
<column name="planet.module_srl" alias="module_srl" />
<column name="member.nick_name" alias="nick_name" />
<column name="member.user_id" alias="user_id" />
<column name="member.user_name" alias="user_name" />
<column name="member.member_srl" alias="member_srl" />
<column name="documents.document_srl" alias="document_srl" />
<column name="documents.content" alias="content" />
<column name="documents.extra_vars20" alias="extra_vars20" />
<column name="documents.extra_vars20" alias="postscript" />
<column name="documents.comment_count" alias="comment_count" />
<column name="documents.voted_count" alias="voted_count" />
<column name="documents.tags" alias="tags" />
<column name="documents.regdate" alias="regdate" />
</columns>
<conditions>
<condition operation="equal" column="planet.module_srl" default="modules.module_srl" />
<condition operation="equal" column="documents.document_srl" default="planet.latest_document_srl" pipe="and" />
<condition operation="equal" column="member.member_srl" default="documents.member_srl" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="asc" />
<list_count var="list_count" default="10" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>