mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 02:31:40 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@174 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
9c81a2ce69
commit
3de7cf9648
18 changed files with 113 additions and 105 deletions
|
|
@ -50,7 +50,6 @@
|
|||
|
||||
if(!$document_srl) $this->document_srl = Context::get('document_srl');
|
||||
else $this->document_srl = $document_srl;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -81,24 +81,37 @@
|
|||
|
||||
// 권한 설정
|
||||
if($xml_info->grant) {
|
||||
|
||||
// 이 모듈에 action.xml에서 선언된 권한 목록을 루프
|
||||
foreach($xml_info->grant as $grant_name => $grant_item) {
|
||||
|
||||
// 제목과 기타 설정 없을 경우의 기본 권한(guest, member, root)에 대한 변수 설정
|
||||
$title = $grant_item->title;
|
||||
$default = $grant_item->default;
|
||||
|
||||
$grant->{$grant_name} = false;
|
||||
|
||||
// 관리자이면 모든 권한에 대해 true 설정
|
||||
if($grant->is_admin) {
|
||||
$grant->{$grant_name} = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(count($user_group)) {
|
||||
foreach($user_group as $group_srl) {
|
||||
if(in_array($group_srl, $this->module_info->grants[$grant_name])) {
|
||||
$grant->{$grant_name} = true;
|
||||
break;
|
||||
// 일단 현재 권한에 대해 false 지정
|
||||
$grant->{$grant_name} = false;
|
||||
|
||||
// 모듈의 개별 설정에서 이 권한에 대한 그룹 지정이 있으면 체크
|
||||
if(count($this->module_info->grants[$grant_name])) {
|
||||
$group_srls = $this->module_info->grants[$grang_name];
|
||||
|
||||
if(count($user_group)) {
|
||||
foreach($user_group as $group_srl) {
|
||||
if(in_array($group_srl, $group_srls)) {
|
||||
$grant->{$grant_name} = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 별도의 지정이 없으면 default값으로 권한 체크
|
||||
} else {
|
||||
switch($default) {
|
||||
case 'member' :
|
||||
|
|
@ -111,6 +124,7 @@
|
|||
$grant->{$grant_name} = true;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
/**
|
||||
* @brief debug mode = true 일때 files/_debug_message.php 에 디버그 내용이 쌓임
|
||||
**/
|
||||
define('__DEBUG__', false);
|
||||
define('__DEBUG__', true);
|
||||
if(__DEBUG__) {
|
||||
|
||||
// php5이상이면 error handling을 handleError() 로 set
|
||||
|
|
|
|||
|
|
@ -326,23 +326,19 @@
|
|||
$module_srl = Context::get('module_srl');
|
||||
|
||||
// 현 모듈의 권한 목록을 가져옴
|
||||
$oBoardModel = &getModel('board');
|
||||
$grant_list = $oBoardModel->grant_list;
|
||||
$grant_list = $this->xml_info->grant;
|
||||
|
||||
if(count($grant_list)) {
|
||||
foreach($grant_list as $grant) {
|
||||
$group_srls = Context::get($grant);
|
||||
if($group_srls) $arr_grant[$grant] = explode(',',Context::get($grant));
|
||||
foreach($grant_list as $key => $val) {
|
||||
$group_srls = Context::get($key);
|
||||
if($group_srls) $arr_grant[$key] = explode(',',$group_srls);
|
||||
}
|
||||
$grant = serialize($arr_grant);
|
||||
$grants = serialize($arr_grant);
|
||||
}
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleGrant($module_srl, $grant);
|
||||
$oModuleController->updateModuleGrant($module_srl, $grants);
|
||||
|
||||
$this->add('module','board');
|
||||
$this->add('act','dispAdminGrantInfo');
|
||||
$this->add('page',Context::get('page'));
|
||||
$this->add('module_srl',Context::get('module_srl'));
|
||||
$this->setMessage('success_registed');
|
||||
}
|
||||
|
|
@ -436,8 +432,10 @@
|
|||
**/
|
||||
function procInsertBoard() {
|
||||
// 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리
|
||||
$args = Context::gets('module_srl','mid','skin','use_category','browser_title','description','is_default','header_text','footer_text','admin_id');
|
||||
$args = Context::gets('module_srl','board_name','skin','use_category','browser_title','description','is_default','header_text','footer_text','admin_id');
|
||||
$args->module = 'board';
|
||||
$args->mid = $args->board_name;
|
||||
unset($args->board_name);
|
||||
if($args->is_default!='Y') $args->is_default = 'N';
|
||||
if($args->use_category!='Y') $args->use_category = 'N';
|
||||
|
||||
|
|
@ -447,12 +445,11 @@
|
|||
unset($extra_var->act);
|
||||
unset($extra_var->page);
|
||||
|
||||
// module_srl이 있으면 원본을 구해온다
|
||||
$oModuleModel = &getModel('model');
|
||||
|
||||
// module_srl이 넘어오면 원 모듈이 있는지 확인
|
||||
if($args->module_srl) {
|
||||
$oModuleModel = &getModel('module');
|
||||
$module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl);
|
||||
|
||||
// 만약 원래 모듈이 없으면 새로 입력하기 위한 처리
|
||||
if($module_info->module_srl != $args->module_srl) unset($args->module_srl);
|
||||
}
|
||||
|
|
@ -463,19 +460,19 @@
|
|||
// is_default=='Y' 이면
|
||||
if($args->is_default=='Y') $oModule->clearDefaultModule();
|
||||
|
||||
$oModuleController = &getController('module');
|
||||
|
||||
// module_srl의 값에 따라 insert/update
|
||||
if(!$args->module_srl) {
|
||||
$output = $oModule->insertModule($args);
|
||||
$output = $oModuleController->insertModule($args);
|
||||
$msg_code = 'success_registed';
|
||||
} else {
|
||||
$output = $oModule->updateModule($args);
|
||||
$output = $oModuleController->updateModule($args);
|
||||
$msg_code = 'success_updated';
|
||||
}
|
||||
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->add('module','board');
|
||||
$this->add('act','dispAdminBoardInfo');
|
||||
$this->add('page',Context::get('page'));
|
||||
$this->add('module_srl',$output->get('module_srl'));
|
||||
$this->setMessage($msg_code);
|
||||
|
|
@ -493,7 +490,6 @@
|
|||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->add('module','board');
|
||||
$this->add('act','dispAdminContent');
|
||||
$this->add('page',Context::get('page'));
|
||||
$this->setMessage('success_deleted');
|
||||
}
|
||||
|
|
@ -507,12 +503,10 @@
|
|||
$category_title = Context::get('category_title');
|
||||
|
||||
// module_srl이 있으면 원본을 구해온다
|
||||
$oDocumentModel = &getModel('document');
|
||||
$output = $oDocumentModel->insertCategory($module_srl, $category_title);
|
||||
$oDocumentController = &getController('document');
|
||||
$output = $oDocumentController->insertCategory($module_srl, $category_title);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->add('module','board');
|
||||
$this->add('act','dispAdminCategoryInfo');
|
||||
$this->add('page',Context::get('page'));
|
||||
$this->add('module_srl',$module_srl);
|
||||
$this->setMessage('success_registed');
|
||||
|
|
@ -522,6 +516,7 @@
|
|||
* @brief 카테고리의 내용 수정
|
||||
**/
|
||||
function procUpdateCategory() {
|
||||
$module_srl = Context::get('module_srl');
|
||||
$category_srl = Context::get('category_srl');
|
||||
$mode = Context::get('mode');
|
||||
|
||||
|
|
@ -551,7 +546,8 @@
|
|||
break;
|
||||
}
|
||||
if(!$output->toBool()) return $output;
|
||||
$this->add('module_srl', $selected_category->module_srl);
|
||||
|
||||
$this->add('module_srl', $module_srl);
|
||||
$this->setMessage($msg_code);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,10 @@
|
|||
if(!$module_info) {
|
||||
Context::set('module_srl','');
|
||||
$this->act = 'list';
|
||||
} else Context::set('module_info',$module_info);
|
||||
} else {
|
||||
$this->module_info = $module_info;
|
||||
Context::set('module_info',$module_info);
|
||||
}
|
||||
}
|
||||
|
||||
// 일반 action일 경우
|
||||
|
|
@ -391,13 +394,6 @@
|
|||
// module_srl 값이 없다면 그냥 index 페이지를 보여줌
|
||||
if(!Context::get('module_srl')) return $this->dispAdminContent();
|
||||
|
||||
// 요청받은 모듈의 정보를 구함
|
||||
$oModuleModel = &getModel('module');
|
||||
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
|
||||
|
||||
// template에서 사용하기 위해 설정
|
||||
Context::set('module_info',$module_info);
|
||||
|
||||
// 템플릿 파일 지정
|
||||
$this->setTemplateFile('board_info');
|
||||
}
|
||||
|
|
@ -499,8 +495,6 @@
|
|||
|
||||
// module.xml에서 권한 관련 목록을 구해옴
|
||||
$grant_list = $this->xml_info->grant;
|
||||
|
||||
// 권한 목록 세팅
|
||||
Context::set('grant_list', $grant_list);
|
||||
|
||||
// 권한 그룹의 목록을 가져온다
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->admin_id}</th>
|
||||
<td>{$module_info->admin_id}</td>
|
||||
<td>{implode(",",$module_info->admin_id)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th rowspan="2">{$lang->admin_id}</th>
|
||||
<td><textarea name="admin_id">{$module_info->admin_id}</textarea></td>
|
||||
<td><textarea name="admin_id">{implode(",",$module_info->admin_id)}</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lang->about_admin_id}</td>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
<!-- 카테고리의 위/아래, 삭제와 관련된 form -->
|
||||
<form id="fo_category_info" action="./" method="post">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="act" value="procUpdateCategory" />
|
||||
<input type="hidden" name="category_srl" value="" />
|
||||
<input type="hidden" name="mode" value="" />
|
||||
|
|
@ -40,7 +41,7 @@
|
|||
</div>
|
||||
|
||||
<!-- 카테고리 추가 -->
|
||||
<form action="./admin.php" method="post" onsubmit="return procFilter(this, insert_category)" enctype="multipart/form-data">
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, insert_category)">
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="category_srl" value="" />
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
<!-- 카테고리 수정 -->
|
||||
<!--@if($selected_category)-->
|
||||
<form action="./" method="post" onsubmit="return procFilter(this, update_category)" enctype="multipart/form-data">
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="category_srl" value="{$selected_category->category_srl}" />
|
||||
<input type="hidden" name="mode" value="update" />
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<node target="act" required="true" />
|
||||
<node target="module_srl" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeBoardDelete">
|
||||
<response callback_func="completeDeleteBoard">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="sid" />
|
||||
|
|
|
|||
|
|
@ -1,9 +1,21 @@
|
|||
<filter name="insert_board" module="board" act="procInsertboard" confirm_msg_code="confirm_submit">
|
||||
<filter name="insert_board" module="board" act="procInsertBoard" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="mid" required="true" filter="alpha_number" />
|
||||
<node target="browser_title" required="true" maxlength="250" />
|
||||
</form>
|
||||
<response callback_func="completeBoardInsert">
|
||||
<parameter>
|
||||
<param name="board_name" target="mid" />
|
||||
<param name="module_srl" target="module_srl" />
|
||||
<param name="skin" target="skin" />
|
||||
<param name="use_category" target="use_category" />
|
||||
<param name="browser_title" target="browser_title" />
|
||||
<param name="is_default" target="is_default" />
|
||||
<param name="description" target="description" />
|
||||
<param name="header_text" target="header_text" />
|
||||
<param name="footer_text" target="footer_text" />
|
||||
<param name="admin_id" target="admin_id" />
|
||||
</parameter>
|
||||
<response callback_func="completeInsertBoard">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module" />
|
||||
|
|
|
|||
|
|
@ -1,15 +1,12 @@
|
|||
<filter name="insert_category" module="board" act="procInsertCategory" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="sid" required="true" />
|
||||
<node target="act" required="true" />
|
||||
<node target="module_srl" required="true" />
|
||||
<node target="category_title" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeCategoryUpdate">
|
||||
<item name="error" />
|
||||
<item name="message" />
|
||||
<item name="act" />
|
||||
<item name="page" />
|
||||
<item name="module_srl" />
|
||||
<response callback_func="completeUpdateCategory">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,11 @@
|
|||
<filter id="insert_grant" confirm_msg_code="confirm_submit">
|
||||
<field>
|
||||
<item target="sid" required="true" />
|
||||
<item target="act" required="true" />
|
||||
<item target="module_srl" required="true" filter="number" />
|
||||
</field>
|
||||
<response>
|
||||
<item name="error" />
|
||||
<item name="message" />
|
||||
<item name="sid" />
|
||||
<item name="act" />
|
||||
<item name="page" />
|
||||
<item name="module_srl" />
|
||||
<filter name="insert_grant" module="board" act="procInsertGrant" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="module_srl" required="true" filter="number" />
|
||||
</form>
|
||||
<response callback_func="completeInsertGrant">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="page" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
<filter id="update_category">
|
||||
<field>
|
||||
<item target="sid" required="true" />
|
||||
<item target="act" required="true" />
|
||||
<item target="category_srl" required="true" />
|
||||
<item target="mode" required="true" />
|
||||
</field>
|
||||
<response>
|
||||
<item name="error" />
|
||||
<item name="message" />
|
||||
<item name="module_srl" />
|
||||
<filter name="update_category" module="board" act="procUpdateCategory">
|
||||
<form>
|
||||
<node target="category_srl" required="true" />
|
||||
<node target="mode" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeUpdateCategory">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="module_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
<div>
|
||||
<!--@foreach($group_list as $k => $v)-->
|
||||
<span>
|
||||
<input type="checkbox" name="{$key}" value="{$v->group_srl}" id="grant_{$key}_{$v->group_srl}" <!--@if(is_array($module_info->grant)&&in_array($v->group_srl,$module_info->grant[$key]))-->checked="true"<!--@end-->/>
|
||||
<input type="checkbox" name="{$key}" value="{$v->group_srl}" id="grant_{$key}_{$v->group_srl}" <!--@if(is_array($module_info->grants)&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="true"<!--@end-->/>
|
||||
<label for="grant_{$key}_{$v->group_srl}">{$v->title}</label>
|
||||
</span>
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -5,31 +5,31 @@
|
|||
**/
|
||||
|
||||
/* 모듈 생성 후 */
|
||||
function completeBoardInsert(ret_obj) {
|
||||
function completeInsertBoard(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
|
||||
var module = ret_obj['module'];
|
||||
var act = ret_obj['act'];
|
||||
var page = ret_obj['page'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
|
||||
alert(message);
|
||||
|
||||
var url = "./?module=admin&mo="+module+"&module_srl="+module_srl+"&page="+page+"&act="+act;
|
||||
var url = "./?module=admin&mo=board&module_srl="+module_srl+"&act=dispAdminBoardInfo";
|
||||
if(page) url += "&page="+page;
|
||||
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
/* 모듈 삭제 후 */
|
||||
function completeBoardDelet(ret_obj) {
|
||||
function completeDeleteBoard(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var mo = ret_obj['mo'];
|
||||
var act = ret_obj['act'];
|
||||
var page = ret_obj['page'];
|
||||
alert(message);
|
||||
|
||||
var url = "./?module=admin&mo="+mo+"&page="+page+"&act="+act;
|
||||
var url = "./?module=admin&mo=board&act=dispAdminContent";
|
||||
if(page) url += "&page="+page;
|
||||
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
|
|
@ -45,14 +45,16 @@ function doUpdateCategory(category_srl, mode, message) {
|
|||
}
|
||||
|
||||
/* 카테고리 정보 수정 후 */
|
||||
function completCategoryUpdate(ret_obj) {
|
||||
function completeUpdateCategory(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
|
||||
var page = ret_obj['page'];
|
||||
alert(message);
|
||||
|
||||
var url = "./?module=admin&mo=board&module_srl="+module_srl+"&act=dispAdminCategoryInfo";
|
||||
if(page) url += "&page="+page;
|
||||
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
|
|
@ -75,17 +77,17 @@ function doUnSelectAll(obj, key) {
|
|||
}
|
||||
}
|
||||
|
||||
function completedInsertGrant(ret_obj) {
|
||||
function completeInsertGrant(ret_obj) {
|
||||
var error = ret_obj['error'];
|
||||
var message = ret_obj['message'];
|
||||
var mo = ret_obj['mo'];
|
||||
var act = ret_obj['act'];
|
||||
var page = ret_obj['page'];
|
||||
var module_srl = ret_obj['module_srl'];
|
||||
|
||||
alert(message);
|
||||
|
||||
var url = "./?module=admin&mo="+mo+"&module_srl="+module_srl+"&page="+page+"&act="+act;
|
||||
var url = "./?module=admin&mo=board&module_srl="+module_srl+"&act=dispAdminGrantInfo";
|
||||
if(page) url += "&page="+page;
|
||||
|
||||
location.href = url;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,11 +86,11 @@
|
|||
/**
|
||||
* @brief 모듈의 권한 정보 변경
|
||||
**/
|
||||
function updateModuleGrant($module_srl, $grant) {
|
||||
function updateModuleGrant($module_srl, $grants) {
|
||||
$oDB = &DB::getInstance();
|
||||
|
||||
$args->module_srl = $module_srl;
|
||||
$args->grant = $grant;
|
||||
$args->grants = $grants;
|
||||
$output = $oDB->executeQuery('module.updateModuleGrant', $args);
|
||||
return $output;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
/**
|
||||
* @brief module_srl에 해당하는 모듈의 정보를 구함
|
||||
**/
|
||||
function getModuleInfoByModuleSrl($module_srl='') {
|
||||
function getModuleInfoByModuleSrl($module_srl) {
|
||||
// db객체 생성
|
||||
$oDB = &DB::getInstance();
|
||||
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
$args->module_srl = $module_srl;
|
||||
$output = $oDB->executeQuery('module.getMidInfo', $args);
|
||||
if(!$output->data) return;
|
||||
|
||||
|
||||
return $this->arrangeModuleInfo($output->data);
|
||||
}
|
||||
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
* @brief DB에서 가져온 원 모듈 정보에서 grant, extraVar등의 정리
|
||||
**/
|
||||
function arrangeModuleInfo($source_module_info) {
|
||||
if(!$source_module_info) return;
|
||||
if(!$source_module_info || !is_object($source_module_info) ) return;
|
||||
|
||||
// serialize되어 있는 변수들 추출
|
||||
$extra_vars = $source_module_info->extra_vars;
|
||||
|
|
@ -91,9 +91,7 @@
|
|||
if($grants) $module_info->grants = unserialize($grants);
|
||||
|
||||
// 관리자 아이디의 정리
|
||||
if($module_info->admin_id) {
|
||||
$module_info->admin_id = explode(',',$module_info->admin_id);
|
||||
}
|
||||
if($admin_id) $module_info->admin_id = explode(',',$admin_id);
|
||||
|
||||
return $module_info;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue