웹마스터 팁
확장변수 별로 작성 및 열람 권한 설정하기
2008.10.11 20:11
특정 확장 변수를 대상으로 작성 및 열람의 권한을 설정 할 수 있도록 하는 질문을 몇번 접하여 소개 하고자 합니다.
본 팁에서 소개하는 방법은 특정 확장 변수만을 대상으로 하므로 작성 및 열람이 설정 되지않은 확장변수는 작성 및 열람이 가능합니다.
본 팁은 zbxe 1.0.6(r4581)을 기준으로 작성 하였습니다.
주의 : 본팁을 적용 하시면, 여러분이 사용하시고 있는 게시판스킨에 아래의 5번과 6번의 소스가 적용되지 않으면 확장 변수가 표현 되지 않습니다. 반드시 아래으; 1번 ~ 4번의 모듈 수정 부분을 적용 하시고, 여러분이 사용하시는 모든 게시판스킨에 아래의 5번과 6번의 소스를 적용 하시기 바랍니다.
본 팁을 적용하신후 게시판 설정>게시판 정보>수정>확장변수에서 확장 변수의 권한을 설정 하시면 됩니다.
1. modules/board/tpl/board_insert.html
line 184 부분에 소스를 추가 합니다.
<!--@if(!$module_srls)-->
<!--@for($i=1;$i<=20;$i++)-->
<div class="gap1"></div>
{@ $extra_vars_name = ''}
{@ $extra_vars_type = ''}
{@ $extra_vars_grant_type = ''}
{@ $extra_vars_is_required = ''}
{@ $extra_vars_default_value = ''}
{@ $extra_vars_desc = ''}
{@ $extra_vars_search = ''}
<!--@if($module_info->extra_vars[$i])-->
{@ $extra_vars_name = $module_info->extra_vars[$i]->name}
{@ $extra_vars_type = $module_info->extra_vars[$i]->type}
{@ $extra_vars_grant_type = $module_info->extra_vars[$i]->grant_type}
{@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required}
{@ $extra_vars_default_value = $module_info->extra_vars[$i]->default}
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc}
{@ $extra_vars_search = $module_info->extra_vars[$i]->search}
<!--@end-->
<table cellspacing="0" class="adminTable ">
<col width="150" />
<col />
<caption>{$lang->extra_vars} {$i}</caption>
<tr>
<th>{$lang->column_name}</th>
<td><input type="text" name="extra_vars_{$i}_name" value="{$extra_vars_name}" class="inputTypeText w200" /> </td>
</tr>
<tr>
<th>{$lang->column_type}</th>
<td>
<select name="extra_vars_{$i}_type">
<!--@foreach($lang->column_type_list as $key => $val)-->
<option value="{$key}" <!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<th>{$lang->grant_type}</th>
<td>
<select name="extra_vars_{$i}_grant_type">
<!--@foreach($lang->grant_type_list as $key => $val)-->
<option value="{$key}" <!--@if($extra_vars_grant_type==$key)-->selected="selected"<!--@end-->>{$lang->grant_type_list[$key]}</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
2. modules/board/tpl/board_info.html
line 96 부분에 소스를 추가 합니다.
<!--@for($i=1;$i<=20;$i++)-->
<!--@if($module_info->extra_vars[$i])-->
{@ $extra_vars_name = $module_info->extra_vars[$i]->name}
{@ $extra_vars_type = $module_info->extra_vars[$i]->type}
{@ $extra_vars_grant_type = $module_info->extra_vars[$i]->grant_type}
{@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required=='Y'?'Y':'N'}
{@ $extra_vars_default_value = $module_info->extra_vars[$i]->default?$module_info->extra_vars[$i]->default:' '}
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc?$module_info->extra_vars[$i]->desc:' '}
{@ $extra_vars_search = $module_info->extra_vars[$i]->search=='Y'?'Y':'N'}
<div class="gap1"></div>
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<caption>{$lang->extra_vars} {$i}</caption>
<tr>
<th>{$lang->column_name}</th>
<td>{$extra_vars_name}</td>
</tr>
<tr>
<th>{$lang->column_type}</th>
<td>{$extra_vars_type}</td>
</tr>
<tr>
<th>{$lang->grant_type}</th>
<td>{$extra_vars_grant_type}</td>
</tr>
3.modules/board/tpl/filter/insert_board.xml
line 27 부분에 소스를 추가 합니다.
<param name="header_text" target="header_text" />
<param name="footer_text" target="footer_text" />
<param name="admin_id" target="admin_id" />
<param name="extra_vars_1_grant_type" target="extra_vars_1_grant_type" />
<param name="extra_vars_2_grant_type" target="extra_vars_2_grant_type" />
<param name="extra_vars_3_grant_type" target="extra_vars_3_grant_type" />
<param name="extra_vars_4_grant_type" target="extra_vars_4_grant_type" />
<param name="extra_vars_5_grant_type" target="extra_vars_5_grant_type" />
<param name="extra_vars_6_grant_type" target="extra_vars_6_grant_type" />
<param name="extra_vars_7_grant_type" target="extra_vars_7_grant_type" />
<param name="extra_vars_8_grant_type" target="extra_vars_8_grant_type" />
<param name="extra_vars_9_grant_type" target="extra_vars_9_grant_type" />
<param name="extra_vars_10_grant_type" target="extra_vars_10_grant_type" />
<param name="extra_vars_11_grant_type" target="extra_vars_11_grant_type" />
<param name="extra_vars_12_grant_type" target="extra_vars_12_grant_type" />
<param name="extra_vars_13_grant_type" target="extra_vars_13_grant_type" />
<param name="extra_vars_14_grant_type" target="extra_vars_14_grant_type" />
<param name="extra_vars_15_grant_type" target="extra_vars_15_grant_type" />
<param name="extra_vars_16_grant_type" target="extra_vars_16_grant_type" />
<param name="extra_vars_17_grant_type" target="extra_vars_17_grant_type" />
<param name="extra_vars_18_grant_type" target="extra_vars_18_grant_type" />
<param name="extra_vars_19_grant_type" target="extra_vars_19_grant_type" />
<param name="extra_vars_20_grant_type" target="extra_vars_20_grant_type" />
4.common/lang/ko.lang.php
lin 221 부분에 소스를 추가 합니다.
$lang->confirm_leave = '탈퇴 하시겠습니까??';
$lang->grant_type = '권한'+
'+
';
$lang->grant_type_list['all_to_all'] = '권한자 작성, 권한자 열람(all_to_all)';
$lang->grant_type_list['all_to_admin'] = '권한자 작성, 관리자 열람(all_to_admin)';
$lang->grant_type_list['admin_to_all'] = '관리자 작성, 권한자 열람(admin_to_all)';
$lang->grant_type_list['admin_to_admin'] = '관리자 작성, 관리자 열람(admin_to_admin)';
$lang->column_type = '형식';
5. modules/board/skins/xe_board/write_form.html
line 84 부분에 소스를 추가 합니다.
<!--@if($module_info->extra_vars)-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr>
<th scope="row">
<!--@if($grant->manager && ($val->grant_type=='admin_to_admin' || $val->grant_type=='admin_to_all'))-->
{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end-->
<!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='all_to_admin')-->
{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end-->
<!--@end-->
</th>
<td>
<!--@if($grant->manager && ($val->grant_type=='admin_to_admin' || $val->grant_type=='admin_to_all'))-->
<!--#include("./extra_var_form.html")-->
<!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='all_to_admin')-->
<!--#include("./extra_var_form.html")-->
<!--@end-->
</td>
</tr>
<!--@endif-->
<!--@endforeach-->
</table>
<!--@endif-->
6. modules/board/skins/xe_board/view_document.html
line 67 부분에 소스를 추가 합니다.
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr>
<th scope="row">
<!--@if($grant->manager && $val->grant_type=='admin_to_admin')-->
{$val->name}
<!--@elseif($oDocument->isEditable() && $val->grant_type=='all_to_admin')-->
{$val->name}
<!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='admin_to_all')-->
{$val->name}
<!--@end-->
</th>
<td>
<!--// 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--@if($grant->manager && $val->grant_type=='admin_to_admin')-->
<!--#include("./extra_var_value.html")-->
<!--@elseif($oDocument->isEditable() && $val->grant_type=='all_to_admin')-->
<!--#include("./extra_var_value.html")-->
<!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='admin_to_all')-->
<!--#include("./extra_var_value.html")-->
<!--@end-->
</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
댓글 7
-
대암지기
2008.10.11 20:47
소스가 잘못된 부분과 보완 부분이 있어 10/11 오후 8시 46분에 재수정 하였습니다. -
투숙하니
2008.11.21 13:50
대암지기님 정말 죄송하지만
예전에 대암지기님의 글을 보고 그림파일 본문에 자동 삽입이 되는 것을 적용 시켰었습니다.
그런데 이번에 1.06 버젼으로 넘어오면서 그게 안되는데요
지금 아무리 예전의 글을 찾아보려해도 찾을 수가 없습니다...
그 글을 어디서 검색을 해야 볼 수 있을까요... 부탁드립니다. ^-^; -
투숙하니
2008.11.21 16:26
http://www.zeroboard.com/16467971
찾았습니다 이곳에 있었어요^^; -
애치티
2008.12.01 21:23
board_info.html file이 없어졌네요. 기다리면 되겠죠 -
애치티
2008.12.05 23:59
너무나 유용한 팁입니다.
그런데 테스트 하다보니 꼭 필요한 옵션 하나가 없습니다.
"권한자 작성, 작성자 열람" 옵션 하나가 더 있어야 랄 듯합니다.
작성자와 최고관리자만 볼수 있는 옵션이 필요한데 지금은 그런 조건을 수행 할 수 없습니다.
꼭 부탁드림니다. -
라이노씨
2009.02.09 10:42
1.1.X 버전에서
board_info.html
이
skin.html 로 변경이 되어 작동이 안되는데요.
수정해 주실 수 있는지요? -
도파돌이
2009.06.14 21:47
1.2.3에서 보니.. 바뀐 것이 넘 많아서.. 적용할 수가 없네요.
제목 | 글쓴이 | 날짜 |
---|---|---|
설치후 권한 재조정 [4] | 덱스터 | 2008.06.17 |
최근게시물에 권한주어서 회원만 내용물보게하기 [1] | 팔공산 | 2008.07.11 |
권한 문제 때문에 생길 수 있는 문제 해결 방안 | 꽃들 | 2008.08.14 |
문서 카테고리를 메뉴에 적용하기 위한 레이아웃 수정 팁과 개념토론 [7] | 제베 | 2008.08.31 |
"권한이 없습니다." Alert 창 대신 로그인 화면으로 이동시키기 [4] | Slur | 2008.09.22 |
[권한이 없습니다] 권한에 따른 다른 메시지 출력하기 [10] [1] | 반도체맨 | 2008.10.03 |
감점되는 게시판에서 점수 부족한데 글 써지는 문제점 수정 [1] | 반도체맨 | 2008.10.07 |
확장변수 별로 작성 및 열람 권한 설정하기 [7] | 대암지기 | 2008.10.11 |
제로보드XE가입 -> 트랙자동가입 기능 | 개돌 | 2008.10.14 |
자체 서버에서 제로보드 인스톨하실때 계속 초기화면 가시는 분을 위한 팁!!! | ♡바다.. | 2008.10.16 |
1.0.6 업데이트 후 링크 이미지 썸네일 문제 임시해결방법 [4] | 라조 | 2008.10.27 |
1.1.0 업데이트 로그인문제관련 [6] | 그냥뛰어 | 2008.11.24 |
IIS7, PHP 5, MySQL 5, 제로보드 설치기 [1] | 54장 | 2008.12.26 |
로그인한 회원만 최근 게시글, 검색등 볼수 있도록 하기 [3] | [_)s | 2008.12.31 |
.htaccess 파일을 쉽게 만드는 방법 [5] | 김병화999 | 2009.01.01 |
사이트 이전팁( files 폴더) [6] | 샤이니라 | 2009.01.28 |
관리자 여러명 만들기 팁 [1] | 만쓰별(정만) | 2009.02.03 |
윈도우 서버에서 XE 업데이트 어려움... [2] | 윤임수 | 2009.02.06 |
IIS에서 XE 설치 시 FTP 정보 등록에서 오류 조치 [4] | impre | 2009.02.20 |
플래너 최근문서(위젯)에 카테고리색 적용, Dday 적용, 지난 일정 출력 여부 조절 [7] | 주상태 | 2009.02.21 |