git-svn-id: http://xe-core.googlecode.com/svn/trunk@798 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-30 04:45:50 +00:00
parent a11ddec974
commit a5528e0099
41 changed files with 298 additions and 478 deletions

View file

@ -0,0 +1,19 @@
<!--#include("header.html")-->
<!--%import("filter/insert_config.xml")-->
<form action="./" method="get" onsubmit="return procFilter(this, insert_config)">
<table border="1">
<tr>
<th rowspan="2">{$lang->test}</th>
<td><input type="text" name="test" value="{$config->test}" /></td>
</tr>
<tr>
<td>{$lang->about_test}</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,32 @@
<!--%import("filter/delete_board.xml")-->
<!--%import("js/admin.js")-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_board)">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<table>
<tr>
<th colspan="2">{$lang->confirm_delete}</th>
</tr>
<tr>
<th>{$lang->module_name}</th>
<td>{$module_info->mid}</td>
</tr>
<tr>
<th>{$lang->module}</th>
<td>{$module_info->module}</td>
</tr>
<tr>
<th>{$lang->document_count}</th>
<td>{$module_info->document_count}</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_delete}" />
<input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','dispAdminContent')}'" />
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,65 @@
<!--#include("header.html")-->
<table>
<tr>
<th>{$lang->category}</th>
<td>
<!--@if(!$module_info->module_category_srl)-->
{$lang->not_exists}
<!--@else-->
{$module_category[$module_info->module_category_srl]->title}
<!--@end-->
</td>
</tr>
<tr>
<th>{$lang->layout}</th>
<td>
<!--@if($module_info->layout_srl)-->
{$module_info->layout_title} ({$module_info->layout})
<!--@else-->
{$lang->not_exists}
<!--@end-->
</td>
</tr>
<tr>
<th>{$lang->skin}</th>
<td>{$module_info->skin_title} ({$module_info->skin})</td>
</tr>
<tr>
<th>{$lang->browser_title}</th>
<td>{$module_info->browser_title}</td>
</tr>
<tr>
<th>{$lang->use_category}</th>
<td><!--@if($module_info->use_category=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
<tr>
<th>{$lang->list_count}</th>
<td>{$module_info->list_count?$module_info->list_count:20}</td>
</tr>
<tr>
<th>{$lang->page_count}</th>
<td>{$module_info->page_count?$module_info->page_count:10}</td>
</tr>
<tr>
<th>{$lang->description}</th>
<td>{nl2br($module_info->description)}</td>
</tr>
<tr>
<th>{$lang->header_text}</th>
<td>{$module_info->header_text}</td>
</tr>
<tr>
<th>{$lang->footer_text}</th>
<td>{$module_info->footer_text}</td>
</tr>
<tr>
<th>{$lang->admin_id}</th>
<td>{implode(",",$module_info->admin_id)}</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_modify}" onclick="location.href='{getUrl('act','dispAdminInsertBoard')}'" />
</td>
</tr>
</table>

View file

@ -0,0 +1,144 @@
<!--%import("filter/insert_board.xml")-->
<!--%import("js/admin.js")-->
<!--@if($module_srl)-->
<!--#include("header.html")-->
<!--@end-->
<div>
<!--@if(!$module_srl)-->
{$lang->msg_new_module}
<!--@else-->
{$lang->msg_update_module}
<!--@end-->
</div>
<form action="./" method="post" onsubmit="return procFilter(this, insert_board)" enctype="multipart/form-data">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<!--@if($module_info->is_default=='Y')-->
<input type="hidden" name="is_default" value="Y" />
<!--@end-->
<table>
<tr>
<th rowspan="2">{$lang->mid}</th>
<td><input type="text" name="mid" value="{$module_info->mid}" /></td>
</tr>
<tr>
<td>{$lang->about_mid}</td>
</tr>
<tr>
<th rowspan="2">{$lang->category}</th>
<td>
<select name="module_category_srl">
<option value="0">{$lang->notuse}</option>
<!--@foreach($module_category as $key => $val)-->
<option value="{$key}" <!--@if($module_info->module_category_srl==$key)-->selected="true"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<td>{$lang->about_category}</td>
</tr>
<tr>
<th rowspan="2">{$lang->browser_title}</th>
<td><input type="text" name="browser_title" value="{$module_info->browser_title}" /></td>
</tr>
<tr>
<td>{$lang->about_browser_title}</td>
</tr>
<tr>
<th rowspan="2">{$lang->layout}</th>
<td>
<select name="layout_srl">
<option value="0">{$lang->notuse}</option>
<!--@foreach($layout_list as $key => $val)-->
<option value="{$val->layout_srl}" <!--@if($module_info->layout_srl==$val->layout_srl)-->selected="true"<!--@end-->>{$val->title} ({$val->layout})</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<td>{$lang->about_layout}</td>
</tr>
<tr>
<th rowspan="2">{$lang->skin}</th>
<td>
<select name="skin">
<!--@foreach($skin_list as $key=>$val)-->
<option value="{$key}" <!--@if($module_info->skin==$key)-->selected="true"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<td>{$lang->about_skin}</td>
</tr>
<tr>
<th rowspan="2">{$lang->use_category}</th>
<td><input type="checkbox" name="use_category" value="Y" <!--@if($module_info->use_category=='Y')-->checked="true"<!--@end--> /></td>
</tr>
<tr>
<td>{$lang->about_use_category}</td>
</tr>
<tr>
<th rowspan="2">{$lang->list_count}</th>
<td><input type="text" name="list_count" value="{$module_info->list_count?$module_info->list_count:20}" /></td>
</tr>
<tr>
<td>{$lang->about_list_count}</td>
</tr>
<tr>
<th rowspan="2">{$lang->page_count}</th>
<td><input type="text" name="page_count" value="{$module_info->page_count?$module_info->page_count:10}" /></td>
</tr>
<tr>
<td>{$lang->about_page_count}</td>
</tr>
<!--@if($module_info->is_default!='Y')-->
<tr>
<th rowspan="2">{$lang->is_default}</th>
<td><input type="checkbox" name="is_default" value="Y" <!--@if($module_info->is_default=='Y')-->checked="true"<!--@end-->/></td>
</tr>
<tr>
<td>{$lang->about_default}</td>
</tr>
<!--@end-->
<tr>
<th rowspan="2">{$lang->description}</th>
<td><textarea name="description">{htmlspecialchars($module_info->description)}</textarea></td>
</tr>
<tr>
<td>{$lang->about_description}</td>
</tr>
<tr>
<th rowspan="2">{$lang->header_text}</th>
<td><textarea name="header_text">{htmlspecialchars($module_info->header_text)}</textarea></td>
</tr>
<tr>
<td>{$lang->about_header_text}</td>
</tr>
<tr>
<th rowspan="2">{$lang->footer_text}</th>
<td><textarea name="footer_text">{htmlspecialchars($module_info->footer_text)}</textarea></td>
</tr>
<tr>
<td>{$lang->about_footer_text}</td>
</tr>
<tr>
<th rowspan="2">{$lang->admin_id}</th>
<td><textarea name="admin_id">{implode(",",$module_info->admin_id)}</textarea></td>
</tr>
<tr>
<td>{$lang->about_admin_id}</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','dispAdminContent')}'" />
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,52 @@
<!--%import("filter/insert_category.xml")-->
<!--%import("filter/update_category.xml")-->
<!--#include("./header.html")-->
<!-- 카테고리의 위/아래, 삭제와 관련된 form -->
<form id="fo_category_info" action="./" method="get">
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="category_srl" value="" />
<input type="hidden" name="mode" value="" />
</form>
<div>
<table>
<tr>
<th>{$lang->category_title}</th>
<th>{$lang->last_update}</th>
<th>{$lang->cmd_modify}</th>
<th colspan="2">{$lang->cmd_move}</th>
<th>{$lang->cmd_delete}</th>
</tr>
<!--@if(!count($category_list))-->
<tr>
<td colspan="6">{$lang->msg_category_is_null}</td>
</tr>
<!--@end-->
<!--@foreach($category_list as $category_srl => $category_info)-->
<tr>
<td>{$category_info->title}</td>
<td>{zdate($category_info->last_update,"Y-m-d H:i:s")}</td>
<td><a href="{getUrl('category_srl',$category_info->category_srl)}">{$lang->cmd_modify}</a></td>
<td><a href="#" onclick="doUpdateCategory('{$category_info->category_srl}','up');return false;">{$lang->cmd_move_up}</a></td>
<td><a href="#" onclick="doUpdateCategory('{$category_info->category_srl}','down');return false;">{$lang->cmd_move_down}</a></td>
<td><a href="#" onclick="doUpdateCategory('{$category_info->category_srl}','delete','{$lang->confirm_delete}');return false;">{$lang->cmd_delete}</a></td>
</tr>
<!--@end-->
</table>
</div>
<!-- 카테고리 추가 -->
<form action="./" method="post" onsubmit="return procFilter(this, insert_category)">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="category_srl" value="" />
<div>
{$lang->category_title} :
<input type="text" name="category_title" />
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</div>
</form>

View file

@ -0,0 +1,20 @@
<!--%import("filter/update_category.xml")-->
<!--#include("./header.html")-->
<!-- 카테고리 수정 -->
<!--@if($selected_category)-->
<form action="./" method="post" onsubmit="return procFilter(this, update_category)" enctype="multipart/form-data">
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="category_srl" value="{$selected_category->category_srl}" />
<input type="hidden" name="mode" value="update" />
<div style="margin-bottom:30px">
{$lang->category_title} :
<input type="text" name="category_title" value="{$selected_category->title}" />
<input type="submit" value="{$lang->cmd_modify}" />
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('category_srl','')}'" />
</div>
</form>
<!--@end-->

View file

@ -0,0 +1,10 @@
<filter name="delete_board" module="board" act="procDeleteBoard">
<form>
<node target="module_srl" required="true" />
</form>
<response callback_func="completeDeleteBoard">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -0,0 +1,32 @@
<filter name="insert_board" module="board" act="procInsertBoard" confirm_msg_code="confirm_submit">
<form>
<node target="mid" required="true" filter="alpha_number" />
<node target="browser_title" required="true" maxlength="250" />
<node target="list_count" required="true" filter="number" />
<node target="page_count" required="true" filter="number" />
</form>
<parameter>
<param name="board_name" target="mid" />
<param name="module_srl" target="module_srl" />
<param name="module_category_srl" target="module_category_srl" />
<param name="layout_srl" target="layout_srl" />
<param name="skin" target="skin" />
<param name="browser_title" target="browser_title" />
<param name="use_category" target="use_category" />
<param name="list_count" target="list_count" />
<param name="page_count" target="page_count" />
<param name="is_default" target="is_default" />
<param name="description" target="description" />
<param name="header_text" target="header_text" />
<param name="footer_text" target="footer_text" />
<param name="admin_id" target="admin_id" />
</parameter>
<response callback_func="completeInsertBoard">
<tag name="error" />
<tag name="message" />
<tag name="module" />
<tag name="act" />
<tag name="page" />
<tag name="module_srl" />
</response>
</filter>

View file

@ -0,0 +1,12 @@
<filter name="insert_category" module="board" act="procInsertCategory" confirm_msg_code="confirm_submit">
<form>
<node target="module_srl" required="true" />
<node target="category_title" required="true" />
</form>
<response callback_func="completeUpdateCategory">
<tag name="error" />
<tag name="message" />
<tag name="page" />
<tag name="module_srl" />
</response>
</filter>

View file

@ -0,0 +1,7 @@
<filter name="insert_config" module="board" act="procInsertConfig" confirm_msg_code="confirm_submit">
<form />
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,11 @@
<filter name="insert_grant" module="board" act="procInsertGrant" confirm_msg_code="confirm_submit">
<form>
<node target="module_srl" required="true" filter="number" />
</form>
<response callback_func="completeInsertGrant">
<tag name="error" />
<tag name="message" />
<tag name="page" />
<tag name="module_srl" />
</response>
</filter>

View file

@ -0,0 +1,11 @@
<filter name="update_category" module="board" act="procUpdateCategory">
<form>
<node target="category_srl" required="true" />
<node target="mode" required="true" />
</form>
<response callback_func="completeUpdateCategory">
<tag name="error" />
<tag name="message" />
<tag name="module_srl" />
</response>
</filter>

View file

@ -0,0 +1,43 @@
<!--#include("./header.html")-->
<!--%import("filter/insert_grant.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_grant)">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<div>
{$lang->about_grant}
</div>
<table>
<tr>
<th>{$lang->grant}</th>
<th>{$lang->target}</th>
</tr>
<!--@foreach($grant_list as $key => $val)-->
<tr>
<td>{$val->title}</td>
<td>
<div>
<!--@foreach($group_list as $k => $v)-->
<span>
<input type="checkbox" name="{$key}" value="{$v->group_srl}" id="grant_{$key}_{$v->group_srl}" <!--@if(is_array($module_info->grants)&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="true"<!--@end-->/>
<label for="grant_{$key}_{$v->group_srl}">{$v->title}</label>
</span>
<!--@end-->
</div>
<div>
<input type="button" value="{$lang->cmd_select_all}" onclick="doSelectAll(this, '{$key}')"/>
<input type="button" value="{$lang->cmd_unselect_all}" onclick="doUnSelectAll(this, '{$key}')"/>
</div>
</td>
</tr>
<!--@end-->
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_save}" />
</td>
</tr>
</table>
</form>

View file

@ -0,0 +1,22 @@
<!--%import("js/admin.js")-->
<div style="margin-bottom:20px;">
<span <!--@if($act=='dispAdminContent')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispAdminContent','module_srl','')}">{$lang->cmd_board_list}</a>]</span>
<span <!--@if($act=='dispAdminModuleConfig')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispAdminModuleConfig','module_srl','')}">{$lang->cmd_module_config}</a>]</span>
</div>
<!--@if($module_srl)-->
<div style="margin-bottom:20px;">
<span <!--@if($act=='dispAdminBoardInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispAdminBoardInfo')}">{$lang->cmd_view_info}</a>]</span>
<span <!--@if($act=='dispAdminCategoryInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispAdminCategoryInfo')}">{$lang->cmd_manage_category}</a>]</span>
<span <!--@if($act=='dispAdminGrantInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispAdminGrantInfo')}">{$lang->cmd_manage_grant}</a>]</span>
<span <!--@if($act=='dispAdminSkinInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispAdminSkinInfo')}">{$lang->cmd_manage_skin}</a>]</span>
</div>
<div style="margin-bottom:20px;font-weight:bold;">
{$lang->mid} : {$module_info->mid}
(<a href="./?mid={$module_info->mid}" target="_blank">{$lang->cmd_move}</a>)
<!--@if($module_info->is_default=='Y')-->[{$lang->is_default}]<!--@end-->
</div>
<!--@end-->

View file

@ -0,0 +1,77 @@
<!--%import("js/admin.js")-->
<!--#include("header.html")-->
<!-- 게시판 정보 -->
<div>
{$lang->total_count} {number_format($total_count)},
{$lang->page_count} : {number_format($page)} / {number_format($total_page)}
</div>
<!-- 목록 -->
<div>
<table>
<tr>
<th>{$lang->no}</th>
<th>
<form action="./" method="get">
<select name="category" onchange="doChangeCategory(this, '{getUrl('module_category_srl','')}')" >
<option value="">{$lang->category}</option>
<!--@foreach($module_category as $key => $val)-->
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="true"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
</form>
</th>
<th>{$lang->mid}</th>
<th>{$lang->browser_title}</th>
<th>{$lang->is_default}</th>
<th>{$lang->skin}</th>
<th>{$lang->admin_id}</th>
<th>{$lang->regdate}</th>
<th>{$lang->cmd_move}</th>
<th>{$lang->cmd_delete}</th>
</tr>
<!--@foreach($board_list as $no => $val)-->
<tr>
<td>{$no}</td>
<td>
<!--@if(!$val->module_category_srl)-->
{$lang->not_exists}
<!--@else-->
{$module_category[$val->module_category_srl]->title}
<!--@end-->
</td>
<td><a href="{getUrl('act','dispAdminBoardInfo','module_srl',$val->module_srl)}">{$val->mid}</a></td>
<td>{$val->browser_title}</td>
<td>{$val->is_default}</td>
<td>{$val->skin}</td>
<td>{$val->admin_id}</td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="./?mid={$val->mid}" target="_blank">{$lang->cmd_move}</a></td>
<td><!--@if($val->is_default!='Y')--><a href="{getUrl('act','dispAdminDeleteBoard','module_srl', $val->module_srl)}">{$lang->cmd_delete}</a><!--@end--></td>
</tr>
<!--@end-->
</table>
</div>
<!-- 버튼 -->
<div>
[<a href="{getUrl('act','dispAdminInsertBoard','module_srl','')}">{$lang->cmd_make}</a>]
</div>
<!-- 페이지 네비게이션 -->
<div>
<a href="{getUrl('page','','module_srl','')}">[{$lang->first_page}]</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
{$page_no}
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">[{$page_no}]</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}">[{$lang->last_page}]</a>
</div>

View file

@ -0,0 +1,99 @@
/**
* @file : modules/board/js/admin.js
* @author : zero <zero@nzeo.com>
* @desc : board 모듈의 관리자용 javascript
**/
/* 모듈 생성 후 */
function completeInsertBoard(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var module_srl = ret_obj['module_srl'];
alert(message);
var url = "./?module=admin&mo=board&module_srl="+module_srl+"&act=dispAdminBoardInfo";
if(page) url += "&page="+page;
location.href = url;
}
/* 모듈 삭제 후 */
function completeDeleteBoard(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
var url = "./?module=admin&mo=board&act=dispAdminContent";
if(page) url += "&page="+page;
location.href = url;
}
/* 카테고리 관련 작업들 */
function doUpdateCategory(category_srl, mode, message) {
if(typeof(message)!='undefined'&&!confirm(message)) return;
var fo_obj = xGetElementById('fo_category_info');
fo_obj.category_srl.value = category_srl;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_category);
}
/* 카테고리 정보 수정 후 */
function completeUpdateCategory(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var module_srl = ret_obj['module_srl'];
var page = ret_obj['page'];
alert(message);
var url = "./?module=admin&mo=board&module_srl="+module_srl+"&act=dispAdminCategoryInfo";
if(page) url += "&page="+page;
location.href = url;
}
/* 권한 관련 */
function doSelectAll(obj, key) {
var fo_obj = obj.parentNode;
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
for(var i=0;i<fo_obj.length;i++) {
var tobj = fo_obj[i];
if(tobj.name == key) tobj.checked=true;
}
}
function doUnSelectAll(obj, key) {
var fo_obj = obj.parentNode;
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
for(var i=0;i<fo_obj.length;i++) {
var tobj = fo_obj[i];
if(tobj.name == key) tobj.checked = false;
}
}
function completeInsertGrant(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var module_srl = ret_obj['module_srl'];
alert(message);
var url = "./?module=admin&mo=board&module_srl="+module_srl+"&act=dispAdminGrantInfo";
if(page) url += "&page="+page;
location.href = url;
}
/* 카테고리 이동 */
function doChangeCategory(sel_obj, url) {
var module_category_srl = sel_obj.options[sel_obj.selectedIndex].value;
if(!module_category_srl) location.href=url;
else location.href=url+'&module_category_srl='+module_category_srl;
}

View file

@ -0,0 +1,120 @@
<!--#include("./header.html")-->
<form action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="admin" />
<input type="hidden" name="mo" value="board" />
<input type="hidden" name="act" value="procUpdateSkinInfo" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="page" value="{$page}" />
<div style="margin-bottom:10px;">
<table>
<tr>
<th colspan="2">{$lang->skin_default_info}</th>
</tr>
<tr>
<th>{$lang->skin}</th>
<td>{$skin_info->title}</td>
</tr>
<tr>
<th>{$lang->skin_maker}</th>
<td>{$skin_info->maker->name} (<a href="mailto:{$skin_info->maker->email_address}">{$skin_info->maker->email_address}</a>)</td>
</tr>
<tr>
<th>{$lang->skin_maker_homepage}</th>
<td><a href="{$skin_info->maker->homepage}" target="_blank">{$skin_info->maker->homepage}</a></td>
</tr>
<tr>
<th>{$lang->date}</th>
<td>{$skin_info->maker->date}</td>
</tr>
<tr>
<th>{$lang->description}</th>
<td>{nl2br($skin_info->maker->description)}</td>
</tr>
<tr valign="top">
<th>{$lang->colorset}</th>
<td>
<!--@foreach($skin_info->colorset as $key => $val)-->
<div>
<!--@if($val->screenshot)-->
<img src="{$val->screenshot}" align="left" alt="{$val->title}" />
<!--@end-->
<input type="radio" name="colorset" value="{$val->name}" id="colorset_{$key}" <!--@if($module_info->colorset==$val->name)-->checked="true"<!--@end-->/>
<label for="colorset_{$key}">{$val->title}</label>
</div>
<!--@end-->
</td>
</tr>
</table>
</div>
<!--@if($skin_info->extra_vars)-->
<div>
<table>
<tr>
<th colspan="2">{$lang->extra_vars}</th>
</tr>
<!--@foreach($skin_info->extra_vars as $key => $val)-->
<tr>
<th <!--@if($val->description)-->rowspan="2"<!--@end-->>{$val->title}</th>
<td>
<!--@if($val->type=="text")-->
<input type="text" name="{$val->name}" value="{$val->value}" />
<!--@elseif($val->type=="textarea")-->
<textarea name="{$val->name}">{$val->value}</textarea>
<!--@elseif($val->type=="select")-->
<select name="{$val->name}">
<!--@foreach($val->default as $k=>$v)-->
<option value="{$v}" <!--@if($v==$val->value)-->selected="true"<!--@end-->>{$v}</option>
<!--@end-->
</select>
<!--@elseif($val->type=="checkbox")-->
<!--@foreach($val->default as $k=>$v)-->
<span>
<input type="checkbox" name="{$val->name}[]" value="{$v}" id="ch_{$key}_{$k}" <!--@if(in_array($v, $val->value))-->checked="true"<!--@end-->/>
<label for="ch_{$key}_{$k}">{$v}</label>
</span>
<!--@end-->
<!--@elseif($val->type=="radio")-->
<!--@foreach($val->default as $k=>$v)-->
<span>
<input type="radio" name="{$val->name}" value="{$v}" id="ch_{$key}_{$k}" <!--@if($v==$val->value)-->checked="true"<!--@end-->/>
<label for="ch_{$key}_{$k}">{$v}</label>
</span>
<!--@end-->
<!--@elseif($val->type=="image")-->
<!--@if($val->value)-->
<div>
<img src="{$val->value}" /><br />
<input type="checkbox" name="del_{$val->name}" value="Y" id="del_{$val->name}" />
<label for="del_{$val->name}">{$lang->cmd_delete}</label>
</div>
<!--@end-->
<input type="file" name="{$val->name}" value="" />
<!--@end-->
</td>
</tr>
<!--@if($val->description)-->
<tr>
<td>{nl2br($val->description)}</td>
</tr>
<!--@end-->
<!--@end-->
</table>
</div>
<!--@end-->
<div>
<input type="submit" value="{$lang->cmd_registration}" />
</div>
</form>