document모듈에 20개의 확장 필드 추가 및 게시판모듈에서 이를 관리자가 설정하여 사용할 수 있게 수정

git-svn-id: http://xe-core.googlecode.com/svn/trunk@1985 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-07-24 09:34:51 +00:00
parent 810db4b33a
commit 409d82fb49
40 changed files with 1027 additions and 13 deletions

View file

@ -131,6 +131,7 @@ select.time_zone { width:70%; position:relative; top:4px; }
.tableType4 { border:2px solid #c1c0bd; border-left:none; border-right:none; width:100%;}
.tableType4 th { border-top:1px solid #fbfbfb; border-bottom:1px solid #e4e4e4; background:#f5f5f5; padding:10px 10px 10px 2em; font-weight:normal; text-align:left; color:#606060;}
.tableType4 caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/iconH3.gif) no-repeat .5em 2em;}
.tableType4.counter th { font-size:.9em; text-align:center; padding:0;}
.tableType4.counter th em { font:normal 1em Tahoma;}
.tableType4 td { border-bottom:1px solid #ededed; padding:10px 10px 7px 10px; color:#7b7972;}
@ -204,3 +205,7 @@ select.time_zone { width:70%; position:relative; top:4px; }
.nowrap { white-space:nowrap; }
.mid_list { width:7em; }
ul.extra_vars li { margin-bottom:.5em;}
li.type_key { float:left; width:10em; }
li.type_value { clear:right; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 B

View file

@ -196,6 +196,20 @@
unset($extra_var->act);
unset($extra_var->page);
unset($extra_var->board_name);
unset($extra_var->module_srl);
// 확장변수(20개로 제한된 고정 변수) 체크
$user_defined_extra_vars = array();
foreach($extra_var as $key => $val) {
if(substr($key,0,11)!='extra_vars_') continue;
preg_match('/^extra_vars_([0-9]+)_(.*)$/i', $key, $matches);
if(!$matches[1] || !$matches[2]) continue;
$user_defined_extra_vars[$matches[1]]->{$matches[2]} = $val;
unset($extra_var->{$key});
}
for($i=1;$i<=20;$i++) if(!$user_defined_extra_vars[$i]->name) unset($user_defined_extra_vars[$i]);
$extra_var->extra_vars = $user_defined_extra_vars;
// module_srl이 넘어오면 원 모듈이 있는지 확인
if($args->module_srl) {

View file

@ -44,6 +44,22 @@
// 권한 체크
if(!$this->grant->list) return $this->dispBoardMessage('msg_not_permitted');
// 템플릿에서 사용할 검색옵션 세팅
$count_search_option = count($this->search_option);
for($i=0;$i<$count_search_option;$i++) {
$search_option[$this->search_option[$i]] = Context::getLang($this->search_option[$i]);
}
// 확장변수에서도 검색이 설정되어 있는지 확인
for($i=1;$i<=20;$i++) {
$ex_name = $this->module_info->extra_vars[$i]->name;
$ex_search = $this->module_info->extra_vars[$i]->search;
if($ex_name && $ex_search == 'Y') {
$search_option['extra_vars'.$i] = $ex_name;
}
}
Context::set('search_option', $search_option);
// 목록 구현에 필요한 변수들을 가져온다
$document_srl = Context::get('document_srl');
$page = Context::get('page');
@ -120,13 +136,6 @@
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
// 템플릿에서 사용할 검색옵션 세팅
$count_search_option = count($this->search_option);
for($i=0;$i<$count_search_option;$i++) {
$search_option[$this->search_option[$i]] = Context::getLang($this->search_option[$i]);
}
Context::set('search_option', $search_option);
// 관리자일 경우 체크한 문서들의 목록을 세팅
if($this->grant->is_admin) {
Context::set('check_list',$_SESSION['document_management'][$this->module_srl]);
@ -172,6 +181,10 @@
$editor = $oEditorModel->getEditor($document_srl, $option);
Context::set('editor', $editor);
// 확장변수처리를 위해 xml_js_filter를 직접 header에 적용
$oDocumentController = &getController('document');
$oDocumentController->addXmlJsFilter($this->module_info);
$this->setTemplateFile('write_form');
}

View file

@ -0,0 +1,65 @@
<!-- 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- type=select,checkbox이고 기본값이 , 로 연결되어 있으면 , 를 기준으로 explode하여 배열로 만든다 -->
<!--@if(in_array($val->type,array('select','checkbox'))&&strpos($val->default,",")!==false)-->
{@ $val->default = explode(',',$val->default) }
<!--@end-->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul style="list-style:none;">
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/>{$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="fl inputTypeText w80" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<a href="#" onclick="open_calendar('{$val->column_name}','{$val->value}');return false;" class="button"><span>{$lang->cmd_open_calendar}</span></a>
<!--@end-->
<!--@if($val->desc)-->
<p>{$val->desc}</p>
<!--@end-->

View file

@ -0,0 +1,55 @@
<!-- 이 파일은 extra_vars의 결과값을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
<!--@end-->

View file

@ -7,6 +7,26 @@
<node target="homepage" maxlength="250"/>
<node target="title" required="true" minlength="1" maxlength="250" />
<node target="content" required="true" />
<node target="extra_vars1" />
<node target="extra_vars2" />
<node target="extra_vars3" />
<node target="extra_vars4" />
<node target="extra_vars5" />
<node target="extra_vars6" />
<node target="extra_vars7" />
<node target="extra_vars8" />
<node target="extra_vars9" />
<node target="extra_vars10" />
<node target="extra_vars11" />
<node target="extra_vars12" />
<node target="extra_vars13" />
<node target="extra_vars14" />
<node target="extra_vars15" />
<node target="extra_vars16" />
<node target="extra_vars17" />
<node target="extra_vars18" />
<node target="extra_vars19" />
<node target="extra_vars20" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />

View file

@ -39,6 +39,17 @@
<th>{$lang->voted_count}</th>
<td>{$oDocument->get('voted_count')}</td>
</tr>
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr>
<th>{$val->name}</th>
<td>
<!-- 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_value.html")-->
</th>
</tr>
<!--@end-->
<!--@end-->
<tr>
<th>{$lang->content}</th>
<td height="100" valign="top">{$oDocument->getContent()}</td>

View file

@ -91,6 +91,20 @@
{$lang->about_tag}
</td>
</tr>
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr>
<th>
{$val->name}
<!--@if($val->is_required=='Y')-->*<!--@end-->
</th>
<td>
<!-- 확장변수(extra_var)의 type에 따른 form을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_form.html")-->
</td>
</tr>
<!--@end-->
<!--@end-->
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />

View file

@ -119,6 +119,15 @@ Jeong, Chan Myeong 070601~070630
.boardRead .dateAndModify ul { display:inline;}
.boardRead .dateAndModify ul li { float:left; margin-left:.3em; list-style:none;}
/* extraVars list */
.extraVarsList { width:100%; border:1px solid #e0e1db; clear:both; margin-bottom:1em;}
.extraVarsList tr.notice { background:#f8f8f8;}
.extraVarsList tr.notice .num { font-size:.9em; font-weight:bold;}
.extraVarsList tr.bg1 { background:#ffffff}
.extraVarsList tr.bg2 { background:#fbfbfb;}
.extraVarsList th { color:#3e3f3e; font-weight:bold; padding:.8em .5em .5em .5em; border-bottom:1px solid #eff0ed; border-right:1px solid #eff0ed;}
.extraVarsList td { border-bottom:1px solid #eff0ed; padding:.5em .5em .5em 1em;}
/* boardSearch */
.boardSearch { text-align:center; clear:both; width:100%;}
.boardSearch fieldset { border:none; display:inline; overflow:visible; position:relative;}
@ -252,7 +261,11 @@ Jeong, Chan Myeong 070601~070630
.boardWrite .tag label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .tag .inputTypeText { width:50%;}
.boardWrite .tag .help { vertical-align:middle;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:8.5em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
.boardWrite .extra_vars label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .extra_vars .info { clear:both; padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars ul li { float:left; margin-right:1em; }
.smallBox { border:1px solid #e0e1db; margin:5em auto 1em auto;}
.smallBox.w268 { width:268px;}

View file

@ -0,0 +1,65 @@
<!-- 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- type=select,checkbox이고 기본값이 , 로 연결되어 있으면 , 를 기준으로 explode하여 배열로 만든다 -->
<!--@if(in_array($val->type,array('select','checkbox'))&&strpos($val->default,",")!==false)-->
{@ $val->default = explode(',',$val->default) }
<!--@end-->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul style="list-style:none;">
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/> {$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="fl inputTypeText w80" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<a href="#" onclick="open_calendar('{$val->column_name}','{$val->value}');return false;" class="button"><span>{$lang->cmd_open_calendar}</span></a>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -0,0 +1,57 @@
<!-- 이 파일은 extra_vars의 결과값을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
<!--@end-->
<!--@if(!$val->value)-->&nbsp;<!--@end-->

View file

@ -49,6 +49,24 @@
<!--@end-->
</div>
<!--@if($oDocument->isExtraVarsExists())-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr class="bg{($key+1)%2+1}">
<th scope="row">{$val->name}</th>
<td>
<!-- 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_value.html")-->
</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
<div class="readBody"><div class="contentBody">{$oDocument->getContent()}</div></div>
<div class="readFooter">

View file

@ -87,6 +87,16 @@
<p class="info">{$lang->about_tag}</p>
</div>
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<div class="extra_vars">
<label>{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></label>
<!-- 확장변수(extra_var)의 type에 따른 form을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_form.html")-->
</div>
<!--@end-->
<!--@end-->
</fieldset>
<div class="tRight gap1">

View file

@ -119,6 +119,15 @@ Jeong, Chan Myeong 070601~070630
.boardRead .dateAndModify ul { display:inline;}
.boardRead .dateAndModify ul li { float:left; margin-left:.3em; list-style:none;}
/* extraVars list */
.extraVarsList { width:100%; border:1px solid #e0e1db; clear:both; margin-bottom:1em;}
.extraVarsList tr.notice { background:#f8f8f8;}
.extraVarsList tr.notice .num { font-size:.9em; font-weight:bold;}
.extraVarsList tr.bg1 { background:#ffffff}
.extraVarsList tr.bg2 { background:#fbfbfb;}
.extraVarsList th { color:#3e3f3e; font-weight:bold; padding:.8em .5em .5em .5em; border-bottom:1px solid #eff0ed; border-right:1px solid #eff0ed;}
.extraVarsList td { border-bottom:1px solid #eff0ed; padding:.5em .5em .5em 1em;}
/* boardSearch */
.boardSearch { text-align:center; clear:both; width:100%;}
.boardSearch fieldset { border:none; display:inline; overflow:visible; position:relative;}
@ -252,7 +261,11 @@ Jeong, Chan Myeong 070601~070630
.boardWrite .tag label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .tag .inputTypeText { width:50%;}
.boardWrite .tag .help { vertical-align:middle;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:8.5em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
.boardWrite .extra_vars label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .extra_vars .info { clear:both; padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars ul li { float:left; margin-right:1em; }
.smallBox { border:1px solid #e0e1db; margin:5em auto 1em auto;}
.smallBox.w268 { width:268px;}

View file

@ -0,0 +1,65 @@
<!-- 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- type=select,checkbox이고 기본값이 , 로 연결되어 있으면 , 를 기준으로 explode하여 배열로 만든다 -->
<!--@if(in_array($val->type,array('select','checkbox'))&&strpos($val->default,",")!==false)-->
{@ $val->default = explode(',',$val->default) }
<!--@end-->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul style="list-style:none;">
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/> {$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="fl inputTypeText w80" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<a href="#" onclick="open_calendar('{$val->column_name}','{$val->value}');return false;" class="button"><span>{$lang->cmd_open_calendar}</span></a>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -0,0 +1,57 @@
<!-- 이 파일은 extra_vars의 결과값을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
<!--@end-->
<!--@if(!$val->value)-->&nbsp;<!--@end-->

View file

@ -70,7 +70,7 @@
<!--@else-->
<tr class="bg{($no+1)%2+1}">
<!--@if($module_info->display_number!='N')--><td class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/white/iconArrowD8.gif" border="0" /><!--@else-->{$no}<!--@end--></td><!--@end-->
<!--@if($module_info->display_number!='N')--><td class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/white/iconArrowD8.gif" border="0" alt="" /><!--@else-->{$no}<!--@end--></td><!--@end-->
<!--@end-->

View file

@ -49,6 +49,24 @@
<!--@end-->
</div>
<!--@if($oDocument->isExtraVarsExists())-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr class="bg{($key+1)%2+1}">
<th scope="row">{$val->name}</th>
<td>
<!-- 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_value.html")-->
</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
<div class="readBody"><div class="contentBody">{$oDocument->getContent()}</div></div>
<div class="readFooter">

View file

@ -87,6 +87,16 @@
<p class="info">{$lang->about_tag}</p>
</div>
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<div class="extra_vars">
<label>{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></label>
<!-- 확장변수(extra_var)의 type에 따른 form을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_form.html")-->
</div>
<!--@end-->
<!--@end-->
</fieldset>
<div class="tRight gap1">

View file

@ -119,6 +119,15 @@ Jeong, Chan Myeong 070601~070630
.boardRead .dateAndModify ul { display:inline;}
.boardRead .dateAndModify ul li { float:left; margin-left:.3em; list-style:none;}
/* extraVars list */
.extraVarsList { width:100%; border:1px solid #e0e1db; clear:both; margin-bottom:1em;}
.extraVarsList tr.notice { background:#f8f8f8;}
.extraVarsList tr.notice .num { font-size:.9em; font-weight:bold;}
.extraVarsList tr.bg1 { background:#ffffff}
.extraVarsList tr.bg2 { background:#fbfbfb;}
.extraVarsList th { color:#3e3f3e; font-weight:bold; padding:.8em .5em .5em .5em; border-bottom:1px solid #eff0ed; border-right:1px solid #eff0ed;}
.extraVarsList td { border-bottom:1px solid #eff0ed; padding:.5em .5em .5em 1em;}
/* boardSearch */
.boardSearch { text-align:center; clear:both; width:100%;}
.boardSearch fieldset { border:none; display:inline; overflow:visible; position:relative;}
@ -252,8 +261,11 @@ Jeong, Chan Myeong 070601~070630
.boardWrite .tag label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .tag .inputTypeText { width:50%;}
.boardWrite .tag .help { vertical-align:middle;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:8.5em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
.boardWrite .extra_vars label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .extra_vars .info { clear:both; padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/white/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars ul li { float:left; margin-right:1em; }
.smallBox { border:1px solid #e0e1db; margin:5em auto 1em auto;}
.smallBox.w268 { width:268px;}
.smallBox .header { position:relative; _width:100%; background:#ffffff url(../images/normal/bgH3.gif) no-repeat left bottom; overflow:hidden;}

View file

@ -0,0 +1,65 @@
<!-- 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- type=select,checkbox이고 기본값이 , 로 연결되어 있으면 , 를 기준으로 explode하여 배열로 만든다 -->
<!--@if(in_array($val->type,array('select','checkbox'))&&strpos($val->default,",")!==false)-->
{@ $val->default = explode(',',$val->default) }
<!--@end-->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul style="list-style:none;">
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/> {$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="fl inputTypeText w80" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<a href="#" onclick="open_calendar('{$val->column_name}','{$val->value}');return false;" class="button"><span>{$lang->cmd_open_calendar}</span></a>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -0,0 +1,57 @@
<!-- 이 파일은 extra_vars의 결과값을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!-- 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!-- 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!-- 일반 text -->
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!-- 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!-- 전화번호 -->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
<!-- textarea -->
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
<!-- 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
<!-- 단일 선택 -->
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
<!-- 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
<!--@end-->
<!--@if(!$val->value)-->&nbsp;<!--@end-->

View file

@ -98,7 +98,7 @@
<tr class="bg{($no+1)%2+1}">
<td rowspan="2" class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/white/iconArrowD8.gif" border="0" /><!--@else-->{$no}<!--@end--></td>
<td rowspan="2" class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/white/iconArrowD8.gif" alt="" border="0" /><!--@else-->{$no}<!--@end--></td>
<!--@if($document->thumbnailExists(100))-->
<td rowspan="2" class="thumb">
<a href="{getUrl('','document_srl',$document->document_srl)}" class="thumbnailMedium"><img src="{$document->getThumbnail(100)}" border="0" alt="" /></a>

View file

@ -49,6 +49,24 @@
<!--@end-->
</div>
<!--@if($oDocument->isExtraVarsExists())-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr class="bg{($key+1)%2+1}">
<th scope="row">{$val->name}</th>
<td>
<!-- 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_value.html")-->
</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
<div class="readBody"><div class="contentBody">{$oDocument->getContent()}</div></div>
<div class="readFooter">

View file

@ -87,6 +87,16 @@
<p class="info">{$lang->about_tag}</p>
</div>
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<div class="extra_vars">
<label>{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></label>
<!-- 확장변수(extra_var)의 type에 따른 form을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_form.html")-->
</div>
<!--@end-->
<!--@end-->
</fieldset>
<div class="tRight gap1">

View file

@ -71,3 +71,48 @@
<a href="{getUrl('act','dispBoardAdminContent','module_srl','')}" class="button"><span>{$lang->cmd_board_list}</span></a>
<!--@end-->
</div>
<table cellspacing="0" class="tableType4">
<col width="150" />
<col />
<caption>{$lang->extra_vars}</caption>
<!--@for($i=1;$i<=20;$i++)-->
<tr>
<th scope="row">{$lang->extra_vars} {$i}</th>
<td>
<!--@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_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:'&nbsp;'}
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc?$module_info->extra_vars[$i]->desc:'&nbsp;'}
{@ $extra_vars_search = $module_info->extra_vars[$i]->search=='Y'?'Y':'N'}
<ul class="extra_vars">
<li class="type_key">{$lang->column_name}</li>
<li class="type_value">{$extra_vars_name}</li>
<li class="type_key">{$lang->column_type}</li>
<li class="type_value">{$extra_vars_type}</li>
<li class="type_key">{$lang->is_required}</li>
<li class="type_value">{$extra_vars_is_required}</li>
<li class="type_key">{$lang->default_value}</li>
<li class="type_value">{$extra_vars_default_value}</li>
<li class="type_key">{$lang->description}</li>
<li class="type_value">{$extra_vars_desc}</li>
<li class="type_key">{$lang->cmd_search}</li>
<li class="type_value">{$extra_vars_search}</li>
</ul>
<!--@else-->
{$lang->not_exists}
<!--@end-->
</td>
</tr>
<!--@end-->
</table>
<div class="tRight gap1">
<a href="{getUrl('act','dispBoardAdminInsertBoard')}" class="button"><span>{$lang->cmd_modify}</span></a>
<!--@if($module=="admin")-->
<a href="{getUrl('act','dispBoardAdminContent','module_srl','')}" class="button"><span>{$lang->cmd_board_list}</span></a>
<!--@end-->
</div>

View file

@ -136,6 +136,58 @@
</tr>
</table>
<table cellspacing="0" class="tableType4">
<col width="150" />
<col />
<caption>{$lang->extra_vars}</caption>
<!--@for($i=1;$i<=20;$i++)-->
<tr>
<th scope="row">{$lang->extra_vars} {$i}</th>
<td>
<!--@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_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}
<ul class="extra_vars">
<li class="type_key">{$lang->column_name}</li>
<li class="type_value"><input type="text" name="extra_vars_{$i}_name" value="{$extra_vars_name}" class="inputTypeText w200" />
<li class="type_key">{$lang->column_type}</li>
<li class="type_value">
<select name="extra_vars_{$i}_type">
<!--@foreach($lang->column_type_list as $key => $val)-->
<!--@if($key != 'kr_zip')-->
<option value="{$key}" <!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
<!--@end-->
<!--@end-->
</select>
</li>
<li class="type_key">{$lang->is_required}</li>
<li class="type_value"><input type="checkbox" name="extra_vars_{$i}_is_required" value="Y" <!--@if($extra_vars_is_required=='Y')-->checked="checked"<!--@end--> />
<li class="type_key">{$lang->default_value}</li>
<li class="type_value">
<input type="text" name="extra_vars_{$i}_default" value="{$extra_vars_default_value}" class="inputTypeText w400" />
<p>{$lang->about_extra_vars_default_value}</p>
</li>
<li class="type_key">{$lang->description}</li>
<li class="type_value">
<input type="text" name="extra_vars_{$i}_desc" value="{$extra_vars_desc}" class="inputTypeText w400" />
</li>
<li class="type_key">{$lang->cmd_search}</li>
<li class="type_value"><input type="checkbox" name="extra_vars_{$i}_search" value="Y" <!--@if($extra_vars_search=='Y')-->checked="checked"<!--@end--> />
</ul>
<!--@else-->
{$lang->not_exists}
<!--@end-->
</td>
</tr>
<!--@end-->
</table>
<div class="tRight gap1">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
</div>

View file

@ -21,6 +21,126 @@
<param name="footer_text" target="footer_text" />
<param name="admin_id" target="admin_id" />
<param name="open_rss" target="open_rss" />
<param name="extra_vars_1_name" target="extra_vars_1_name" />
<param name="extra_vars_1_type" target="extra_vars_1_type" />
<param name="extra_vars_1_is_required" target="extra_vars_1_is_required" />
<param name="extra_vars_1_search" target="extra_vars_1_search" />
<param name="extra_vars_1_default" target="extra_vars_1_default" />
<param name="extra_vars_1_desc" target="extra_vars_1_desc" />
<param name="extra_vars_2_name" target="extra_vars_2_name" />
<param name="extra_vars_2_type" target="extra_vars_2_type" />
<param name="extra_vars_2_is_required" target="extra_vars_2_is_required" />
<param name="extra_vars_2_search" target="extra_vars_2_search" />
<param name="extra_vars_2_default" target="extra_vars_2_default" />
<param name="extra_vars_2_desc" target="extra_vars_2_desc" />
<param name="extra_vars_3_name" target="extra_vars_3_name" />
<param name="extra_vars_3_type" target="extra_vars_3_type" />
<param name="extra_vars_3_is_required" target="extra_vars_3_is_required" />
<param name="extra_vars_3_search" target="extra_vars_3_search" />
<param name="extra_vars_3_default" target="extra_vars_3_default" />
<param name="extra_vars_3_desc" target="extra_vars_3_desc" />
<param name="extra_vars_4_name" target="extra_vars_4_name" />
<param name="extra_vars_4_type" target="extra_vars_4_type" />
<param name="extra_vars_4_is_required" target="extra_vars_4_is_required" />
<param name="extra_vars_4_search" target="extra_vars_4_search" />
<param name="extra_vars_4_default" target="extra_vars_4_default" />
<param name="extra_vars_4_desc" target="extra_vars_4_desc" />
<param name="extra_vars_5_name" target="extra_vars_5_name" />
<param name="extra_vars_5_type" target="extra_vars_5_type" />
<param name="extra_vars_5_is_required" target="extra_vars_5_is_required" />
<param name="extra_vars_5_search" target="extra_vars_5_search" />
<param name="extra_vars_5_default" target="extra_vars_5_default" />
<param name="extra_vars_5_desc" target="extra_vars_5_desc" />
<param name="extra_vars_6_name" target="extra_vars_6_name" />
<param name="extra_vars_6_type" target="extra_vars_6_type" />
<param name="extra_vars_6_is_required" target="extra_vars_6_is_required" />
<param name="extra_vars_6_search" target="extra_vars_6_search" />
<param name="extra_vars_6_default" target="extra_vars_6_default" />
<param name="extra_vars_6_desc" target="extra_vars_6_desc" />
<param name="extra_vars_7_name" target="extra_vars_7_name" />
<param name="extra_vars_7_type" target="extra_vars_7_type" />
<param name="extra_vars_7_is_required" target="extra_vars_7_is_required" />
<param name="extra_vars_7_search" target="extra_vars_7_search" />
<param name="extra_vars_7_default" target="extra_vars_7_default" />
<param name="extra_vars_7_desc" target="extra_vars_7_desc" />
<param name="extra_vars_8_name" target="extra_vars_8_name" />
<param name="extra_vars_8_type" target="extra_vars_8_type" />
<param name="extra_vars_8_is_required" target="extra_vars_8_is_required" />
<param name="extra_vars_8_search" target="extra_vars_8_search" />
<param name="extra_vars_8_default" target="extra_vars_8_default" />
<param name="extra_vars_8_desc" target="extra_vars_8_desc" />
<param name="extra_vars_9_name" target="extra_vars_9_name" />
<param name="extra_vars_9_type" target="extra_vars_9_type" />
<param name="extra_vars_9_is_required" target="extra_vars_9_is_required" />
<param name="extra_vars_9_search" target="extra_vars_9_search" />
<param name="extra_vars_9_default" target="extra_vars_9_default" />
<param name="extra_vars_9_desc" target="extra_vars_9_desc" />
<param name="extra_vars_10_name" target="extra_vars_10_name" />
<param name="extra_vars_10_type" target="extra_vars_10_type" />
<param name="extra_vars_10_is_required" target="extra_vars_10_is_required" />
<param name="extra_vars_10_search" target="extra_vars_10_search" />
<param name="extra_vars_10_default" target="extra_vars_10_default" />
<param name="extra_vars_10_desc" target="extra_vars_10_desc" />
<param name="extra_vars_11_name" target="extra_vars_11_name" />
<param name="extra_vars_11_type" target="extra_vars_11_type" />
<param name="extra_vars_11_is_required" target="extra_vars_11_is_required" />
<param name="extra_vars_11_search" target="extra_vars_11_search" />
<param name="extra_vars_11_default" target="extra_vars_11_default" />
<param name="extra_vars_11_desc" target="extra_vars_11_desc" />
<param name="extra_vars_12_name" target="extra_vars_12_name" />
<param name="extra_vars_12_type" target="extra_vars_12_type" />
<param name="extra_vars_12_is_required" target="extra_vars_12_is_required" />
<param name="extra_vars_12_search" target="extra_vars_12_search" />
<param name="extra_vars_12_default" target="extra_vars_12_default" />
<param name="extra_vars_12_desc" target="extra_vars_12_desc" />
<param name="extra_vars_13_name" target="extra_vars_13_name" />
<param name="extra_vars_13_type" target="extra_vars_13_type" />
<param name="extra_vars_13_is_required" target="extra_vars_13_is_required" />
<param name="extra_vars_13_search" target="extra_vars_13_search" />
<param name="extra_vars_13_default" target="extra_vars_13_default" />
<param name="extra_vars_13_desc" target="extra_vars_13_desc" />
<param name="extra_vars_14_name" target="extra_vars_14_name" />
<param name="extra_vars_14_type" target="extra_vars_14_type" />
<param name="extra_vars_14_is_required" target="extra_vars_14_is_required" />
<param name="extra_vars_14_search" target="extra_vars_14_search" />
<param name="extra_vars_14_default" target="extra_vars_14_default" />
<param name="extra_vars_14_desc" target="extra_vars_14_desc" />
<param name="extra_vars_15_name" target="extra_vars_15_name" />
<param name="extra_vars_15_type" target="extra_vars_15_type" />
<param name="extra_vars_15_is_required" target="extra_vars_15_is_required" />
<param name="extra_vars_15_search" target="extra_vars_15_search" />
<param name="extra_vars_15_default" target="extra_vars_15_default" />
<param name="extra_vars_15_desc" target="extra_vars_15_desc" />
<param name="extra_vars_16_name" target="extra_vars_16_name" />
<param name="extra_vars_16_type" target="extra_vars_16_type" />
<param name="extra_vars_16_is_required" target="extra_vars_16_is_required" />
<param name="extra_vars_16_search" target="extra_vars_16_search" />
<param name="extra_vars_16_default" target="extra_vars_16_default" />
<param name="extra_vars_16_desc" target="extra_vars_16_desc" />
<param name="extra_vars_17_name" target="extra_vars_17_name" />
<param name="extra_vars_17_type" target="extra_vars_17_type" />
<param name="extra_vars_17_is_required" target="extra_vars_17_is_required" />
<param name="extra_vars_17_search" target="extra_vars_17_search" />
<param name="extra_vars_17_default" target="extra_vars_17_default" />
<param name="extra_vars_17_desc" target="extra_vars_17_desc" />
<param name="extra_vars_18_name" target="extra_vars_18_name" />
<param name="extra_vars_18_type" target="extra_vars_18_type" />
<param name="extra_vars_18_is_required" target="extra_vars_18_is_required" />
<param name="extra_vars_18_search" target="extra_vars_18_search" />
<param name="extra_vars_18_default" target="extra_vars_18_default" />
<param name="extra_vars_18_desc" target="extra_vars_18_desc" />
<param name="extra_vars_19_name" target="extra_vars_19_name" />
<param name="extra_vars_19_type" target="extra_vars_19_type" />
<param name="extra_vars_19_is_required" target="extra_vars_19_is_required" />
<param name="extra_vars_19_search" target="extra_vars_19_search" />
<param name="extra_vars_19_default" target="extra_vars_19_default" />
<param name="extra_vars_19_desc" target="extra_vars_19_desc" />
<param name="extra_vars_20_name" target="extra_vars_20_name" />
<param name="extra_vars_20_type" target="extra_vars_20_type" />
<param name="extra_vars_20_is_required" target="extra_vars_20_is_required" />
<param name="extra_vars_20_search" target="extra_vars_20_search" />
<param name="extra_vars_20_default" target="extra_vars_20_default" />
<param name="extra_vars_20_desc" target="extra_vars_20_desc" />
</parameter>
<response callback_func="completeInsertBoard">
<tag name="error" />

View file

@ -409,5 +409,25 @@
$args->document_count = $document_count;
return executeQuery('document.updateCategoryCount', $args);
}
/**
* @brief document의 20 확장변수를 xml js filter 적용을 위해 직접 적용
* 모듈정보를 받아서 20개의 확장변수를 체크하여 type, required등의 값을 체크하여 header에 javascript 코드 추가
**/
function addXmlJsFilter($module_info) {
$extra_vars = $module_info->extra_vars;
if(!$extra_vars) return;
$js_code = "";
foreach($extra_vars as $key => $val) {
$js_code .= sprintf('alertMsg["extra_vars%d"] = "%s";', $key, $val->name);
$js_code .= sprintf('target_type_list["extra_vars%d"] = "%s";', $key, $val->type);
if($val->is_required == 'Y') $js_code .= sprintf('notnull_list[notnull_list.length] = "extra_vars%s";',$key);
}
$js_code = "<script type=\"text/javascript\">//<![CDATA[\n".$js_code."\n//]]></script>";
Context::addHtmlHeader($js_code);
}
}
?>

View file

@ -167,6 +167,19 @@
}
}
function isExtraVarsExists() {
for($i=1;$i<=20;$i++) {
if($this->get('extra_vars'.$i)) return true;
}
return false;
}
function getExtraValue($key) {
$val = $this->get('extra_vars'.$key);
if(strpos($val,'|@|')!==false) $val = explode('|@|', $val);
return $val;
}
function getCommentCount() {
if(!$this->isGranted() && $this->isSecret()) return 0;
return $this->get('comment_count');

View file

@ -164,6 +164,12 @@
case 'ipaddress' :
$args->s_ipaddress= $search_keyword;
break;
default :
preg_match('/^extra_vars([0-9]+)$/',$search_target,$matches);
if($matches[1]) {
$args->{"s_extra_vars".$matches[1]} = $search_keyword;
}
break;
}
}

View file

@ -28,6 +28,26 @@
<condition operation="like_prefix" column="regdate" var="s_regdate" pipe="or" />
<condition operation="like_prefix" column="last_update" var="s_last_update" pipe="or" />
<condition operation="like_prefix" column="ipaddress" var="s_ipaddress" pipe="or" />
<condition operation="like" column="extra_vars1" var="s_extra_vars1" pipe="or" />
<condition operation="like" column="extra_vars2" var="s_extra_vars2" pipe="or" />
<condition operation="like" column="extra_vars3" var="s_extra_vars3" pipe="or" />
<condition operation="like" column="extra_vars4" var="s_extra_vars4" pipe="or" />
<condition operation="like" column="extra_vars5" var="s_extra_vars5" pipe="or" />
<condition operation="like" column="extra_vars6" var="s_extra_vars6" pipe="or" />
<condition operation="like" column="extra_vars7" var="s_extra_vars7" pipe="or" />
<condition operation="like" column="extra_vars8" var="s_extra_vars8" pipe="or" />
<condition operation="like" column="extra_vars9" var="s_extra_vars9" pipe="or" />
<condition operation="like" column="extra_vars10" var="s_extra_vars10" pipe="or" />
<condition operation="like" column="extra_vars11" var="s_extra_vars11" pipe="or" />
<condition operation="like" column="extra_vars12" var="s_extra_vars12" pipe="or" />
<condition operation="like" column="extra_vars13" var="s_extra_vars13" pipe="or" />
<condition operation="like" column="extra_vars14" var="s_extra_vars14" pipe="or" />
<condition operation="like" column="extra_vars15" var="s_extra_vars15" pipe="or" />
<condition operation="like" column="extra_vars16" var="s_extra_vars16" pipe="or" />
<condition operation="like" column="extra_vars17" var="s_extra_vars17" pipe="or" />
<condition operation="like" column="extra_vars18" var="s_extra_vars18" pipe="or" />
<condition operation="like" column="extra_vars19" var="s_extra_vars19" pipe="or" />
<condition operation="like" column="extra_vars20" var="s_extra_vars20" pipe="or" />
</group>
</conditions>
<navigation>

View file

@ -31,5 +31,25 @@
<column name="allow_comment" var="allow_comment" default="Y" />
<column name="lock_comment" var="lock_comment" default="N" />
<column name="allow_trackback" var="allow_trackback" default="Y" />
<column name="extra_vars1" var="extra_vars1" />
<column name="extra_vars2" var="extra_vars2" />
<column name="extra_vars3" var="extra_vars3" />
<column name="extra_vars4" var="extra_vars4" />
<column name="extra_vars5" var="extra_vars5" />
<column name="extra_vars6" var="extra_vars6" />
<column name="extra_vars7" var="extra_vars7" />
<column name="extra_vars8" var="extra_vars8" />
<column name="extra_vars9" var="extra_vars9" />
<column name="extra_vars10" var="extra_vars10" />
<column name="extra_vars11" var="extra_vars11" />
<column name="extra_vars12" var="extra_vars12" />
<column name="extra_vars13" var="extra_vars13" />
<column name="extra_vars14" var="extra_vars14" />
<column name="extra_vars15" var="extra_vars15" />
<column name="extra_vars16" var="extra_vars16" />
<column name="extra_vars17" var="extra_vars17" />
<column name="extra_vars18" var="extra_vars18" />
<column name="extra_vars19" var="extra_vars19" />
<column name="extra_vars20" var="extra_vars20" />
</columns>
</query>

View file

@ -24,6 +24,26 @@
<column name="allow_comment" var="allow_comment" default="Y" />
<column name="lock_comment" var="lock_comment" default="N" />
<column name="allow_trackback" var="allow_trackback" default="Y" />
<column name="extra_vars1" var="extra_vars1" />
<column name="extra_vars2" var="extra_vars2" />
<column name="extra_vars3" var="extra_vars3" />
<column name="extra_vars4" var="extra_vars4" />
<column name="extra_vars5" var="extra_vars5" />
<column name="extra_vars6" var="extra_vars6" />
<column name="extra_vars7" var="extra_vars7" />
<column name="extra_vars8" var="extra_vars8" />
<column name="extra_vars9" var="extra_vars9" />
<column name="extra_vars10" var="extra_vars10" />
<column name="extra_vars11" var="extra_vars11" />
<column name="extra_vars12" var="extra_vars12" />
<column name="extra_vars13" var="extra_vars13" />
<column name="extra_vars14" var="extra_vars14" />
<column name="extra_vars15" var="extra_vars15" />
<column name="extra_vars16" var="extra_vars16" />
<column name="extra_vars17" var="extra_vars17" />
<column name="extra_vars18" var="extra_vars18" />
<column name="extra_vars19" var="extra_vars19" />
<column name="extra_vars20" var="extra_vars20" />
</columns>
<conditions>
<condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" />

View file

@ -62,4 +62,6 @@
$lang->about_grant = 'If you disable all objects having specific permissions, all members even not logined may have permission.';
$lang->about_open_rss = 'You can select RSS on the current module to be open to the public.\nNo matter the view permission of article , RSS will be open to the public by its option.';
$lang->about_module = "All of Zeroboard XE except the basic library consist of module.\n [Manage module] module will show all installed modules and help you to manage them.\nThrough [Add shortcut] feature, you can manage frequently used modules easily.";
$lang->about_extra_vars_default_value = '다중/단일 선택등 기본값이 여러개가 필요한 경우 , (콤마)로 연결하시면 됩니다';
?>

View file

@ -62,4 +62,6 @@
$lang->about_grant = '特定権限の対象をすべて解除するとログインしていない会員ユーザまで権限が与えられます。';
$lang->about_open_rss = '現在のモジュールに対して「RSS配信」を選択することができます。書き込みの内容が読める権限とは関係なくオプションによってRSSが配信されます。';
$lang->about_module = "ゼロボードXEは、基本ライブラリの他は、すべてモジュールで構成されています。モジュール管理用のモジュールはインストールされたすべてを表示し、管理できるようにします。頻繁に使うモジュールは、【ショットカット追加】で行うと管理しやすなります。";
$lang->about_extra_vars_default_value = '다중/단일 선택등 기본값이 여러개가 필요한 경우 , (콤마)로 연결하시면 됩니다';
?>

View file

@ -62,4 +62,6 @@
$lang->about_grant = '특정 권한의 대상을 모두 해제하시면 로그인하지 않은 회원까지 권한을 가질 수 있습니다';
$lang->about_open_rss = '현재 모듈에 대한 RSS 공개를 선택하실 수 있습니다. 글 보는 권한과 상관없이 옵션에 따라 RSS가 공개됩니다';
$lang->about_module = "제로보드XE는 기본 라이브러리를 제외한 나머지는 모두 모듈로 구성되어 있습니다.\n모듈관리 모듈은 설치된 모든 모듈을 보여주고 관리를 도와줍니다.\n자주 쓰는 모듈은 [바로가기 추가]를 통해서 편하게 관리하실 수 있습니다.";
$lang->about_extra_vars_default_value = '다중/단일 선택등 기본값이 여러개가 필요한 경우 , (콤마)로 연결하시면 됩니다';
?>

View file

@ -62,4 +62,6 @@
$lang->about_grant = '全部解除特定权限的对象会没有登录的会员也有相关权限';
$lang->about_open_rss = '可以选择对该模块的RSS的公开。不相关查看内容的权限按RSS的选项指定';
$lang->about_module = "zeroboard XE是除了基本library以外全部是以模块构成。\n模块管理的模块是帮助显示全部已安装的模块以及管理。\n经常使用的模块通过『添加到左侧快捷菜单』可以方便管理。";
$lang->about_extra_vars_default_value = '다중/단일 선택등 기본값이 여러개가 필요한 경우 , (콤마)로 연결하시면 됩니다';
?>