cafeXE 개선

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


git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6171 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2009-04-22 10:38:47 +00:00
parent b2e0e09529
commit 5bb5fa23a8
68 changed files with 721 additions and 617 deletions

View file

@ -248,12 +248,23 @@
return $output;
}
/**
* @brief 모듈의 가상사이트 변경
**/
function updateModuleSite($module_srl, $site_srl, $layout_srl = 0) {
$args->module_srl = $module_srl;
$args->site_srl = $site_srl;
$args->layout_srl = $layout_srl;
return executeQuery('module.updateModuleSite', $args);
}
/**
* @brief 모듈을 삭제
*
* 모듈 삭제시는 관련 정보들을 모두 삭제 시도한다.
**/
function deleteModule($module_srl) {
if(!$module_srl) return new Object(-1,'msg_invalid_request');
// trigger 호출 (before)
$trigger_obj->module_srl = $module_srl;

View file

@ -393,6 +393,8 @@
// action 정보를 얻어서 admin_index를 추가
$action_info = $this->getModuleActionXml($module);
$module_info->admin_index_act = $action_info->admin_index_act;
$module_info->default_index_act = $action_info->default_index_act;
$module_info->setup_index_act = $action_info->setup_index_act;
return $module_info;
}
@ -477,6 +479,7 @@
$index = $action->attrs->index;
$admin_index = $action->attrs->admin_index;
$setup_index = $action->attrs->setup_index;
$output->action->{$name}->type = $type;
$output->action->{$name}->grant = $grant;
@ -498,9 +501,13 @@
$admin_index_act = $name;
$info->admin_index_act = $name;
}
if($setup_index=='true') {
$setup_index_act = $name;
$info->setup_index_act = $name;
}
}
}
$buff = sprintf('<?php if(!defined("__ZBXE__")) exit();$info->default_index_act = \'%s\';$info->admin_index_act = \'%s\';%s?>', $default_index_act, $admin_index_act, $buff);
$buff = sprintf('<?php if(!defined("__ZBXE__")) exit();$info->default_index_act = \'%s\';$info->setup_index_act=\'%s\';$info->admin_index_act = \'%s\';%s?>', $default_index_act, $setup_index_act, $admin_index_act, $buff);
FileHandler::writeFile($cache_file, $buff);
@ -777,6 +784,15 @@
return $skin_info;
}
/**
* @brief 특정 가상 사이트에 등록된 특정 모듈의 개수를 return
**/
function getModuleCount($site_srl, $module = null) {
$args->site_srl = $site_srl;
if(!is_null($module)) $args->module = $module;
$output = executeQuery('module.getModuleCount', $args);
return $output->data->count;
}
/**
* @brief 특정 모듈의 설정 return

View file

@ -0,0 +1,12 @@
<query id="getModuleCount" action="select">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="count(*)" alias="count" />
</columns>
<conditions>
<condition operation="equal" column="site_srl" var="site_srl" notnull="notnull"/>
<condition operation="equal" column="module" var="module" pipe="and" />
</conditions>
</query>

View file

@ -0,0 +1,12 @@
<query id="updateModuleSite" action="update">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="site_srl" var="site_srl" notnull="notnull" />
<column name="layout_Srl" var="layout_srl" notnull="notnull" default="0" />
</columns>
<conditions>
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" pipe="and"/>
</conditions>
</query>