rhymix/modules/homepage/homepage.model.php
zero 5bb5fa23a8 cafeXE 개선
1. 게시판/페이지 외에 최고관리자가 지정한 서비스 모듈을 생성/관리 가능하도록 개선
2. 최고관리자는 기본 레이아웃/ 레이아웃 변경 기능 제한/ 카페별 서비스 모듈 생성 개수를 지정하는 기능 추가
3. 생성된 카페의 도메인/vid 등을 수정할 수 있는 기능 추가
4. 카페 관리자가 메뉴 추가시에 메뉴명과 서비스 모듈 종류만 지정하면 모듈이 생성되도록 개선
5. 가상사이트와 기본 사이트간의 모듈을 옮길 수 있는 기능 추가


git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6171 201d5d3c-b55e-5fd7-737f-ddc643e51545
2009-04-22 10:38:47 +00:00

67 lines
2.4 KiB
PHP

<?php
/**
* @class homepageModel
* @author zero (zero@nzeo.com)
* @brief homepage 모듈의 model class
**/
class homepageModel extends homepage {
var $site_module_info = null;
var $site_srl = 0;
function init() {
// site_module_info값으로 홈페이지의 정보를 구함
$this->site_module_info = Context::get('site_module_info');
$this->site_srl = $this->site_module_info->site_srl;
}
function getConfig($site_srl = 0) {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('homepage');
if(!$config) {
$config->default_layout = 'cafeXE';
$config->enable_change_layout = 'N';
$config->allow_service = array('board'=>10,'page'=>2);
}
if($site_srl) {
$part_config = $oModuleModel->getModulePartConfig('homepage', $site_srl);
if(!$part_config) $part_config = $config;
else $config = $part_config;
}
return $config;
}
function getHomepageInfo($site_srl) {
$args->site_srl = $site_srl;
$output = executeQuery('homepage.getHomepageInfo', $args);
if(!$output->toBool() || !$output->data) return;
return $output->data;
}
function getHomepageMenuItem() {
$node_srl = Context::get('node_srl');
if(!$node_srl) return new Object(-1,'msg_invalid_request');
$oMenuAdminModel = &getAdminModel('menu');
$menu_info = $oMenuAdminModel->getMenuItemInfo($node_srl);
if(!preg_match('/^http/i',$menu_info->url)) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByMid($menu_info->url, $this->site_srl);
if($module_info->mid == $menu_info->url) {
$menu_info->module_type = $module_info->module;
$menu_info->module_id = $module_info->mid;
$menu_info->browser_title = $module_info->browser_title;
unset($menu_info->url);
}
} else {
$menu_info->module_type = 'url';
$menu_info->url = preg_replace('/^(http|https):\/\//i','',$menu_info->url);
}
$this->add('menu_info', $menu_info);
}
}
?>