virtual site + homepage package 추가. 아직 미완성 버전이므로 서비스 반영하지 말아주세요. 테스트중

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4871 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-11-17 10:45:57 +00:00
parent c5dbc3405c
commit e745b70268
171 changed files with 5243 additions and 274 deletions

View file

@ -116,31 +116,35 @@
$module_categories = $oModuleModel->getModuleCategories();
// 모듈의 목록을 가져옴
$module_list = $oModuleModel->getMidList();
$site_module_info = Context::get('site_module_info');
$args->site_srl = $site_module_info->site_srl;
$module_list = $oModuleModel->getMidList($args);
// 최고 관리자가 아닌 경우 자신의 관리 대상 모듈만 구해옴
$logged_info = Context::get('logged_info');
$user_id = $logged_info->user_id;
$group_list = $logged_info->group_list;
// 사이트 운영자가 아닌 경우
if(!$oModuleModel->isSiteAdmin()) {
$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($logged_info->is_admin != 'Y') {
foreach($module_list as $key => $val) {
$info = $oModuleModel->arrangeModuleInfo($val);
// 직접 최고 관리자로 지정이 안되어 있으면 그룹을 체크
if(!in_array($user_id, $info->admin_id)) {
// 직접 최고 관리자로 지정이 안되어 있으면 그룹을 체크
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;
$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]);
}
if(!$is_granted) unset($module_list[$key]);
}
}
}

View file

@ -205,6 +205,24 @@
FileHandler::removeFilesInDir(_XE_PATH_."files/cache/document_category");
}
/**
* @brief Action중 Admin이 들어갔을 경우 권한 체크
**/
function checkAdminActionGrant() {
if(!Context::get('is_logged')) return false;
$logged_info = Context::get('logged_info');
if($logged_info->is_admin=='Y') return true;
$actions = array('procDocumentAdminAddCart','dispDocumentAdminManageDocument','procDocumentAdminManageCheckedDocument');
if(!in_array($this->act, $actions)) return false;
$oModuleModel = &getModel('module');
if($oModuleModel->isSiteAdmin()) return true;
return false;
}
/**
* @brief 권한 체크를 실행하는 method
* 모듈 객체가 생성된 경우는 직접 권한을 체크하지만 기능성 모듈등 스스로 객체를 생성하지 않는 모듈들의 경우에는