게시판/블로그/방명록등의 추가설정/권한설정/레이아웃편집등에서 관리자지정이 되거나 관리그룹으로 되면 정상적으로 관리를 할 수 있도록 기능 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3493 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-01-08 04:23:45 +00:00
parent b73c48ecbc
commit 19e8df6405
9 changed files with 241 additions and 26 deletions

View file

@ -191,8 +191,6 @@
// 사용자 아이디를 구함
$logged_info = Context::get('logged_info');
$user_id = $logged_info->user_id;
$group_list = $logged_info->group_list;
// 모듈 요청에 사용된 변수들을 가져옴
$args = Context::getRequestVars();
@ -207,17 +205,7 @@
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($args->srl);
if(!$module_info) return false;
// 직접 관리자로 선택하였을 경우 확인
if(is_array($module_info->admin_id) && in_array($user_id, $module_info->admin_id)) return true;
// 관리자 그룹으로 등록되어 있을 경우 확인
$manager_group = $module_info->grants['manager'];
if(count($group_list) && count($manager_group)) {
foreach($group_list as $group_srl => $group_info) {
if(in_array($group_srl, $manager_group)) return true;
}
}
if($oModuleModel->isModuleAdmin($module_info, $logged_info)) return true;
break;
// 체크된 게시글을 관리하는 action
@ -239,15 +227,7 @@
$module_info = $oModuleModel->getModuleInfoByModuleSrl($args->target_module);
if(!$module_info) return false;
if(is_array($module_info->admin_id) && in_array($user_id, $module_info->admin_id)) return true;
// 관리자 그룹으로 등록되어 있을 경우 확인
$manager_group = $module_info->grants['manager'];
if(count($group_list) && count($manager_group)) {
foreach($group_list as $group_srl => $group_info) {
if(in_array($group_srl, $manager_group)) return true;
}
}
if($oModuleModel->isModuleAdmin($module_info, $logged_info)) return true;
}
break;