mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-03 09:14:48 +09:00
게시글 관리시 해당 모듈의 최고관리자로 지정된 사용자뿐 아니라 관리 그룹에 속한 대상들도 글 관리 권한을 가지도록 수정
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3491 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f14af52fb3
commit
823ee82b1d
4 changed files with 54 additions and 1 deletions
|
|
@ -89,6 +89,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
// 스팸 처리가 되지 않도록 스팸필터 설정
|
||||
$oSpamController = &getController('spamfilter');
|
||||
$oSpamController->setAvoidLog();
|
||||
|
||||
if($type == 'move') {
|
||||
if(!$module_srl) return new Object(-1, 'fail_to_move');
|
||||
|
||||
|
|
|
|||
|
|
@ -117,10 +117,27 @@
|
|||
// 최고 관리자가 아닌 경우 자신의 관리 대상 모듈만 구해옴
|
||||
$logged_info = Context::get('logged_info');
|
||||
$user_id = $logged_info->user_id;
|
||||
$group_list = $logged_info->group_list;
|
||||
|
||||
if($logged_info->is_admin != 'Y') {
|
||||
foreach($module_list as $key => $val) {
|
||||
$info = $oModuleModel->arrangeModuleInfo($val);
|
||||
if(!in_array($user_id, $info->admin_id)) unset($module_list[$key]);
|
||||
|
||||
// 직접 최고 관리자로 지정이 안되어 있으면 그룹을 체크
|
||||
if(!in_array($user_id, $info->admin_id)) {
|
||||
|
||||
$is_granted = false;
|
||||
$manager_group = $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)) {
|
||||
$is_granted = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!$is_granted) unset($module_list[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Context::set('module_list', $module_list);
|
||||
|
|
|
|||
|
|
@ -192,6 +192,7 @@
|
|||
// 사용자 아이디를 구함
|
||||
$logged_info = Context::get('logged_info');
|
||||
$user_id = $logged_info->user_id;
|
||||
$group_list = $logged_info->group_list;
|
||||
|
||||
// 모듈 요청에 사용된 변수들을 가져옴
|
||||
$args = Context::getRequestVars();
|
||||
|
|
@ -206,7 +207,17 @@
|
|||
$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;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// 체크된 게시글을 관리하는 action
|
||||
|
|
@ -229,6 +240,14 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue