mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
게시판, 블로그의 권한 설정 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2602 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
ce4afeaa13
commit
5516f7fec9
6 changed files with 94 additions and 20 deletions
|
|
@ -74,16 +74,22 @@
|
|||
$oModuleModel = &getModel('module');
|
||||
|
||||
// document_srl이 있으면 document_srl로 모듈과 모듈 정보를 구함
|
||||
if($this->document_srl && !$this->mid && !$this->module_srl) $module_info = $oModuleModel->getModuleInfoByDocumentSrl($this->document_srl);
|
||||
if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||
if($this->document_srl && !$this->mid && !$this->module_srl) {
|
||||
$module_info = $oModuleModel->getModuleInfoByDocumentSrl($this->document_srl);
|
||||
if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||
}
|
||||
|
||||
// 아직 모듈을 못 찾았고 $mid값이 있으면 $mid로 모듈을 구함
|
||||
if(!$module_info && $this->mid) $module_info = $oModuleModel->getModuleInfoByMid($this->mid);
|
||||
if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||
if(!$module_info && $this->mid) {
|
||||
$module_info = $oModuleModel->getModuleInfoByMid($this->mid);
|
||||
if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||
}
|
||||
|
||||
// 모듈을 여전히(;;) 못 찾고 $module_srl이 있으면 해당 모듈을 구함
|
||||
if(!$module_info && $this->module_srl) $module_info = $oModuleModel->getModuleInfoByModuleSrl($this->module_srl);
|
||||
if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||
if(!$module_info && $this->module_srl) {
|
||||
$module_info = $oModuleModel->getModuleInfoByModuleSrl($this->module_srl);
|
||||
if($this->module && $module_info->module != $this->module) unset($module_info);
|
||||
}
|
||||
|
||||
// 역시 모듈을 못 찾았고 $module이 없다면 기본 모듈을 찾아봄
|
||||
if(!$module_info && !$this->module) $module_info = $oModuleModel->getModuleInfoByMid();
|
||||
|
|
|
|||
|
|
@ -152,24 +152,19 @@
|
|||
}
|
||||
}
|
||||
|
||||
// 현재 action값에 따른 최고 관리 권한 부여
|
||||
if($this->act && $xml_info->permission) {
|
||||
$permission_target = $xml_info->permission->{$this->act};
|
||||
if($permission_target && $grant->{$permission_target}) {
|
||||
foreach($grant as $key => $val) $grant->{$key} = true;
|
||||
}
|
||||
}
|
||||
|
||||
// act값에 admin이 들어 있는데 관리자가 아닌 경우 오류 표시
|
||||
if(substr_count($this->act, 'Admin')) {
|
||||
// 로그인 되어 있지 않다면 무조건 금지
|
||||
if(!$is_logged) $this->setAct("dispMemberLoginForm");
|
||||
else {
|
||||
|
||||
$permitted = false;
|
||||
|
||||
// 최고관리자이면 무조건 패스~
|
||||
if($grant->is_admin) $permitted = true;
|
||||
|
||||
// 최고관리자가 아니더라도 module.xml에서 permission에 등록된 권한이 있으면 허용
|
||||
$permission_target = $xml_info->permission->{$this->act};
|
||||
if($permission_target && $grant->{$permission_target}) $permitted = true;
|
||||
|
||||
if(!$permitted) return $this->stop('msg_not_permitted_act');
|
||||
|
||||
}
|
||||
elseif(!$grant->is_admin) $this->stop('msg_not_permitted_act');
|
||||
}
|
||||
|
||||
// 권한변수 설정
|
||||
|
|
@ -310,6 +305,7 @@
|
|||
$kind = strpos(strtolower($forward->act),'admin')!==false?'admin':'';
|
||||
$oModule = &getModule($forward->module, $forward->type, $kind);
|
||||
$xml_info = $oModuleModel->getModuleActionXml($forward->module);
|
||||
debugPrint($forward->act);
|
||||
$oModule->setAct($forward->act);
|
||||
$oModule->init();
|
||||
$oModule->setModuleInfo($this->module_info, $xml_info);
|
||||
|
|
|
|||
|
|
@ -32,6 +32,41 @@
|
|||
<title xml:lang="jp">管理</title>
|
||||
</grant>
|
||||
</grants>
|
||||
<permissions>
|
||||
<permission action="dispBlogContent" target="manager" />
|
||||
<permission action="dispBlogWrite" target="manager" />
|
||||
<permission action="dispBlogDelete" target="manager" />
|
||||
<permission action="dispBlogReplyComment" target="manager" />
|
||||
<permission action="dispBlogModifyComment" target="manager" />
|
||||
<permission action="dispBlogDeleteComment" target="manager" />
|
||||
<permission action="dispBlogDeleteTrackback" target="manager" />
|
||||
<permission action="dispBlogMessage" target="manager" />
|
||||
|
||||
<permission action="procBlogInsertDocument" target="manager" />
|
||||
<permission action="procBlogDeleteDocument" target="manager" />
|
||||
<permission action="procBlogInsertComment" target="manager" />
|
||||
<permission action="procBlogDeleteComment" target="manager" />
|
||||
<permission action="procBlogDeleteTrackback" target="manager" />
|
||||
<permission action="procBlogVerificationPassword" target="manager" />
|
||||
<permission action="procBlogDeleteFile" target="manager" />
|
||||
<permission action="procBlogUploadFile" target="manager" />
|
||||
<permission action="procBlogDownloadFile" target="manager" />
|
||||
|
||||
<permission action="getBlogAdminCategoryTplInfo" target="manager" />
|
||||
|
||||
<permission action="dispBlogAdminContent" target="manager" />
|
||||
<permission action="dispBlogAdminBlogInfo" target="manager" />
|
||||
<permission action="dispBlogAdminInsertBlog" target="manager" />
|
||||
<permission action="dispBlogAdminCategoryInfo" target="manager" />
|
||||
<permission action="dispBlogAdminSkinInfo" target="manager" />
|
||||
|
||||
<permission action="procBlogAdminUpdateSkinInfo" target="manager" />
|
||||
<permission action="procBlogAdminInsertBlog" target="manager" />
|
||||
<permission action="procBlogAdminInsertCategory" target="manager" />
|
||||
<permission action="procBlogAdminDeleteCategory" target="manager" />
|
||||
<permission action="procBlogAdminMakeXmlFile" target="manager" />
|
||||
<permission action="procBlogAdminMoveCategory" target="manager" />
|
||||
</permissions>
|
||||
<actions>
|
||||
<action name="dispBlogContent" type="view" index="true" />
|
||||
<action name="dispBlogWrite" type="view" />
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
<!-- 카테고리의 위/아래, 삭제와 관련된 form -->
|
||||
<form id="fo_move_category" action="./" method="get">
|
||||
<input type="hidden" name="module_srl" />
|
||||
<input type="hidden" name="source_category_srl" />
|
||||
<input type="hidden" name="target_category_srl" />
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -132,6 +132,7 @@ function doInsertCategory(parent_srl) {
|
|||
function doGetCategoryInfo(category_id, obj) {
|
||||
// category, category_id, node_srl을 추출
|
||||
var fo_obj = xGetElementById("fo_category");
|
||||
var module_srl = fo_obj.module_srl.value;
|
||||
var node_srl = 0;
|
||||
var parent_srl = 0;
|
||||
|
||||
|
|
@ -147,6 +148,7 @@ function doGetCategoryInfo(category_id, obj) {
|
|||
var params = new Array();
|
||||
params["category_srl"] = node_srl;
|
||||
params["parent_srl"] = parent_srl;
|
||||
params["module_srl"] = module_srl;
|
||||
|
||||
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
|
||||
var response_tags = new Array('error','message','tpl');
|
||||
|
|
@ -217,9 +219,12 @@ function completeInsertCategory(ret_obj) {
|
|||
function doMoveTree(category_id, source_category_srl, target_category_srl) {
|
||||
source_category_srl = source_category_srl.replace(/menu_category_/,'');
|
||||
target_category_srl = target_category_srl.replace(/menu_category_/,'');
|
||||
var p_fo_obj = xGetElementById("fo_category");
|
||||
|
||||
var fo_obj = xGetElementById("fo_move_category");
|
||||
fo_obj.source_category_srl.value = source_category_srl;
|
||||
fo_obj.target_category_srl.value = target_category_srl;
|
||||
fo_obj.module_srl.value = p_fo_obj.module_srl.value;
|
||||
|
||||
// 이동 취소를 선택하였을 경우 다시 그림;;
|
||||
if(!procFilter(fo_obj, move_category)) {
|
||||
|
|
|
|||
|
|
@ -44,6 +44,37 @@
|
|||
<title xml:lang="en">manager</title>
|
||||
</grant>
|
||||
</grants>
|
||||
<permissions>
|
||||
<permission action="dispBoardContent" target="manager" />
|
||||
<permission action="dispBoardWrite" target="manager" />
|
||||
<permission action="dispBoardDelete" target="manager" />
|
||||
<permission action="dispBoardReplyComment" target="manager" />
|
||||
<permission action="dispBoardModifyComment" target="manager" />
|
||||
<permission action="dispBoardDeleteComment" target="manager" />
|
||||
<permission action="dispBoardDeleteTrackback" target="manager" />
|
||||
<permission action="dispBoardMessage" target="manager" />
|
||||
|
||||
<permission action="procBoardInsertDocument" target="manager" />
|
||||
<permission action="procBoardDeleteDocument" target="manager" />
|
||||
<permission action="procBoardInsertComment" target="manager" />
|
||||
<permission action="procBoardDeleteComment" target="manager" />
|
||||
<permission action="procBoardDeleteTrackback" target="manager" />
|
||||
<permission action="procBoardDeleteFile" target="manager" />
|
||||
<permission action="procBoardUploadFile" target="manager" />
|
||||
<permission action="procBoardDownloadFile" target="manager" />
|
||||
|
||||
<permission action="dispBoardAdminInsertBoard" target="manager" />
|
||||
<permission action="dispBoardAdminBoardInfo" target="manager" />
|
||||
<permission action="dispBoardAdminSkinInfo" target="manager" />
|
||||
<permission action="dispBoardAdminCategoryInfo" target="manager" />
|
||||
<permission action="dispBoardAdminManageDocument" target="manager" />
|
||||
|
||||
<permission action="procBoardAdminInsertBoard" target="manager" />
|
||||
<permission action="procBoardAdminUpdateSkinInfo" target="manager" />
|
||||
<permission action="procBoardAdminInsertCategory" target="manager" />
|
||||
<permission action="procBoardAdminUpdateCategory" target="manager" />
|
||||
<permission action="procBoardAdminManageCheckedDocument" target="manager" />
|
||||
</permissions>
|
||||
<actions>
|
||||
<action name="dispBoardContent" type="view" index="true" />
|
||||
<action name="dispBoardWrite" type="view" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue