위젯 검출 정규 표현식을 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2892 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-11-01 10:28:42 +00:00
parent f9896fe51a
commit 90aa62a6ac
993 changed files with 9190 additions and 10457 deletions

View file

@ -37,21 +37,39 @@
$end_date = Context::get('end_date'); ///< 종료 일자, 없으면 무시
if(strlen($end_date)!=14 || !ereg("^([0-9]){14}$", $end_date) ) unset($end_date);
// rss module config를 가져옴
$oModuleModel = &getModel('module');
$rss_config = $oModuleModel->getModuleConfig('rss');
/**
* 요청된 모듈 혹은 전체 모듈의 정보를 구하고 open_rss의 값을 체크
**/
$oModuleModel = &getModel('module');
$mid_list = array();
// mid값이 없으면 전체 mid중 open_rss == 'Y|H'인 걸 고름
if(!$mid) {
$args->open_rss = "'Y','H'";
$module_srl_list = null;
// rss config에 등록된 모듈중 rss 공개하는 것들의 module_srl을 고름
if($rss_config->module_config && count($rss_config->module_config)) {
foreach($rss_config->module_config as $key => $val) {
if($val->open_rss == 'N') continue;
$module_srl_list[] = $val->module_srl;
}
}
// 선택된 모듈이 없으면 패스
if(!$module_srl_list || !count($module_srl_list)) return $this->dispError();
// 선택된 모듈들을 정리
$args->module_srls = implode(',',$module_srl_list);
$module_list = $oModuleModel->getMidList($args);
if(!$module_list) return $this->dispError();
// 대상 모듈을 정리함
$module_srl_list = array();
foreach($module_list as $mid => $val) {
$val->open_rss = $rss_config->module_config[$val->module_srl]->open_rss;
$module_srl_list[] = $val->module_srl;
$mid_list[$val->module_srl] = $val;
}
@ -67,10 +85,14 @@
$module_info = $oModuleModel->getModuleInfoByMid($mid);
if($module_info->mid != $mid) return $this->dispError();
// 해당 모듈이 rss를 사용하는지 확인
$rss_module_config = $rss_config->module_config[$module_info->module_srl];
// RSS 비활성화 되었는지 체크하여 비활성화시 에러 출력
if($module_info->open_rss == 'N') return $this->dispError();
if($rss_module_config->open_rss == 'N') return $this->dispError();
$module_srl = $module_info->module_srl;
$module_info->open_rss = $rss_module_config->open_rss;
$mid_list[$module_info->module_srl] = $module_info;
unset($args);
@ -138,5 +160,33 @@
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile("error");
}
/**
* @brief 서비스형 모듈의 추가 설정을 위한 부분
* rss의 사용 형태에 대한 설정만 받음
**/
function triggerDispRssAdditionSetup(&$obj) {
$current_module_srl = Context::get('module_srl');
if(!$current_module_srl) {
// 선택된 모듈의 정보를 가져옴
$current_module_info = Context::get('current_module_info');
$current_module_srl = $current_module_info->module_srl;
}
if(!$current_module_srl) return new Object();
// 선택된 모듈의 rss설정을 가져옴
$oRssModel = &getModel('rss');
$rss_config = $oRssModel->getRssModuleConfig($current_module_srl);
Context::set('rss_config', $rss_config);
// 템플릿 파일 지정
$oTemplate = &TemplateHandler::getInstance();
$tpl = $oTemplate->compile($this->module_path.'tpl', 'rss_module_config');
$obj .= $tpl;
return new Object();
}
}
?>