planet, cafeXE 메인 사이트들에 대해서도 RSS를 통합 출력할 수 있게 기능 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6441 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2009-05-29 06:45:36 +00:00
parent 125d8f829c
commit 83b406492e
12 changed files with 204 additions and 87 deletions

View file

@ -37,6 +37,7 @@
</permissions>
<actions>
<action name="dispHomepageIndex" type="view" standalone="true" index="true" />
<action name="rss" type="view" />
<action name="dispHomepageManage" type="view" standalone="true" />
<action name="dispHomepageMemberGroupManage" type="view" standalone="true" />

View file

@ -24,6 +24,7 @@
$args->default_layout = $vars->default_layout;
$args->enable_change_layout = $vars->enable_change_layout;
$args->use_rss = $vars->use_rss;
foreach($vars as $key => $val) {
if(strpos($key,'allow_service_')===false) continue;
$args->allow_service[substr($key, strlen('allow_service_'))] = $val;

View file

@ -17,7 +17,6 @@
function init() {
$oModuleModel = &getModel('module');
if($this->act != 'dispHomepageIndex' && strpos($this->act,'Homepage')!==false) {
// 현재 접속 권한 체크하여 사이트 관리자가 아니면 접근 금지
$logged_info = Context::get('logged_info');
@ -54,6 +53,7 @@
function dispHomepageIndex() {
$oHomepageAdminModel = &getAdminModel('homepage');
$oHomepageModel = &getModel('homepage');
$oModuleModel = &getModel('module');
$template_path = sprintf("%sskins/%s/",$this->module_path, $this->module_info->skin);
if(!is_dir($template_path)||!$this->module_info->skin) {
@ -98,6 +98,9 @@
Context::set('my_cafes', $output->data);
}
$homepage_info = $oModuleModel->getModuleConfig('homepage');
if($homepage_info->use_rss == 'Y') Context::set('rss_url',getUrl('','mid',$this->module_info->mid,'act','rss'));
$this->setTemplateFile('index');
}
@ -280,8 +283,6 @@
$this->setTemplateFile('category_list');
}
/**
* @brief 홈페이지 게시판 추가 설정
**/
@ -403,5 +404,31 @@
// 표시
$this->setTemplateFile('components');
}
/**
* @brief rss
**/
function rss() {
$oRss = &getView('rss');
$oDocumentModel = &getModel('document');
$oModuleModel = &getModel('module');
$homepage_info = $oModuleModel->getModuleConfig('homepage');
if($homepage_info->use_rss != 'Y') return new Object(-1,'msg_rss_is_disabled');
$output = executeQueryArray('homepage.getRssList', $args);
if($output->data) {
foreach($output->data as $key => $val) {
unset($obj);
$obj = new DocumentItem(0);
$obj->setAttribute($val);
$document_list[] = $obj;
}
}
$oRss->rss($document_list, $homepage_info->browser_title);
$this->setTemplatePath($oRss->getTemplatePath());
$this->setTemplateFile($oRss->getTemplateFile());
}
}
?>

View file

@ -0,0 +1,21 @@
<query id="getRssList" action="select">
<tables>
<table name="homepages" alias="homepages" />
<table name="modules" alias="modules" />
<table name="documents" alias="documents" />
</tables>
<columns>
<column name="documents.*" />
</columns>
<conditions>
<condition operation="equal" column="modules.site_srl" default="homepages.site_srl" />
<condition operation="equal" column="documents.module_srl" default="modules.module_srl" pipe="and" />
<condition operation="notequal" column="documents.is_secret" default="Y" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="asc" />
<list_count var="list_count" default="15" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>

View file

@ -196,6 +196,14 @@
<p>{$lang->about_allow_service}</p>
</td>
</tr>
<tr>
<th scope="row" colspan="2"><div>RSS</div></th>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="use_rss" value="Y" <!--@if($homepage_config->use_rss=='Y')-->checked="checked"<!--@end-->/>
</td>
</tr>
<tr class="row2" colspan="2">
<td class="button"><span class="button black strong"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span></div></td>
</tr>