스프링노트 연동 모듈 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3114 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-11-30 03:44:14 +00:00
parent 206ffeefa0
commit b05bafd715
50 changed files with 5347 additions and 0 deletions

View file

@ -0,0 +1,10 @@
<filter name="delete_springnote" module="springnote" act="procSpringnoteAdminDeleteSpringnote">
<form>
<node target="module_srl" required="true" />
</form>
<response callback_func="completeDeleteSpringnote">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -0,0 +1,11 @@
<filter name="insert_grant" module="springnote" act="procSpringnoteAdminInsertGrant" 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,37 @@
<filter name="insert_springnote" module="springnote" act="procSpringnoteAdminInsertSpringnote" confirm_msg_code="confirm_submit">
<form>
<node target="mid" required="true" filter="alpha_number" />
<node target="springnote_openid" required="true" maxlength="250" />
<node target="springnote_userkey" required="true" maxlength="250" />
<node target="browser_title" required="true" maxlength="250" />
</form>
<parameter>
<param name="springnote_name" target="mid" />
<param name="openid" target="springnote_openid" />
<param name="userkey" target="springnote_userkey" />
<param name="pageid" target="springnote_pageid" />
<param name="springnote_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" />
<param name="open_rss" target="open_rss" />
</parameter>
<response callback_func="completeInsertSpringnote">
<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,38 @@
<!--#include("./header.html")-->
<!--%import("filter/insert_grant.xml")-->
<div class="infoText">{nl2br($lang->about_grant)}</div>
<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}" />
<table cellspacing="0" class="adminTable">
<col width="130" />
<col width="*" />
<col width="80" />
<col width="80" />
<caption>{$lang->target}</caption>
<tbody>
<!--@foreach($grant_list as $key => $val)-->
<tr>
<th scope="row">{$val->title}</th>
<td class="left">
<!--@foreach($group_list as $k => $v)-->
<input type="checkbox" class="checkbox" name="{$key}" value="{$v->group_srl}" id="grant_{$key}_{$v->group_srl}" <!--@if(is_array($module_info->grants[$key])&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="checked"<!--@end-->/>
<label for="grant_{$key}_{$v->group_srl}">{$v->title}</label>
<!--@end-->
</td>
<td><a href="#" onclick="doSelectAll(this, '{$key}')" class="blue">{$lang->cmd_select_all}</a></td>
<td><a href="#" onclick="doUnSelectAll(this, '{$key}')" class="red">{$lang->cmd_unselect_all}</a></td>
</tr>
<!--@end-->
<tr>
<th scope="row" colspan="4" class="button">
<span class="button"><input type="submit" value="{$lang->cmd_save}" accesskey="s" /></span>
</th>
</tr>
</tbody>
</table>
</form>

View file

@ -0,0 +1,25 @@
<!--%import("js/springnote_admin.js")-->
<h3>{$lang->springnote} <span class="gray">{$lang->cmd_management}</span></h3>
<div class="infoText">{nl2br($lang->about_springnote)}</div>
<!--@if($module_info)-->
<div class="header4">
<!--@if($module_info->mid)-->
<h4>{$module_info->mid} <!--@if($module_info->is_default=='N')--><span class="bracket">({$lang->is_default})</span><!--@end--> <span class="vr">|</span> <a href="{getUrl('','mid',$module_info->mid)}" onclick="window.open(this.href); return false;" class="view">View</a></h4>
<!--@end-->
<ul class="localNavigation">
<!--@if($module=='admin')-->
<li <!--@if($act=='dispSpringnoteAdminContent')-->class="on"<!--@end-->><a href="{getUrl('act','dispSpringnoteAdminContent','module_srl','')}">{$lang->cmd_springnote_list}</a></li>
<!--@else-->
<li><a href="{getUrl('act','')}">{$lang->cmd_back}</a></li>
<!--@end-->
<li <!--@if($act=='dispSpringnoteAdminSpringnoteInfo')-->class="on"<!--@end-->><a href="{getUrl('act','dispSpringnoteAdminSpringnoteInfo')}">{$lang->cmd_view_info}</a></li>
<li <!--@if($act=='dispSpringnoteAdminGrantInfo')-->class="on"<!--@end-->><a href="{getUrl('act','dispSpringnoteAdminGrantInfo')}">{$lang->cmd_manage_grant}</a></li>
<li <!--@if($act=='dispSpringnoteAdminSkinInfo')-->class="on"<!--@end-->><a href="{getUrl('act','dispSpringnoteAdminSkinInfo')}">{$lang->cmd_manage_skin}</a></li>
</ul>
</div>
<!--@end-->

View file

@ -0,0 +1,79 @@
<!--#include("header.html")-->
<!-- 정보 -->
<div class="tableSummaryType1">
Total <strong>{number_format($total_count)}</strong>, Page <strong>{number_format($page)}</strong>/{number_format($total_page)}
</div>
<!-- 목록 -->
<table cellspacing="0" class="adminTable">
<col width="50" />
<col width="130" />
<col />
<col width="80" />
<col width="50" />
<col width="50" />
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col">
<form action="./" method="get" onsubmit="return doChangeCategory(this);">
<input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" />
<select name="module_category_srl" class="w80">
<option value="">{$lang->module_category}</option>
<!--@foreach($module_category as $key => $val)-->
<option value="{$key}" <!--@if($module_category_srl==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
<option value="">---------</option>
<option value="-1">{$lang->cmd_management}</option>
</select>
<input type="submit" name="go_button" id="go_button" value="GO" class="buttonTypeGo" />
</form>
</th>
<th scope="col">{$lang->mid} / {$lang->browser_title}</th>
<th scope="col">{$lang->regdate}</th>
<th scope="col">{$lang->cmd_view}</th>
<th scope="col">{$lang->cmd_delete}</th>
</tr>
</thead>
<tbody>
<!--@foreach($springnote_list as $no => $val)-->
<tr>
<td class="tahoma">{$no}</td>
<td>
<!--@if(!$val->module_category_srl)-->
{$lang->not_exists}
<!--@else-->
{$module_category[$val->module_category_srl]->title}
<!--@end-->
</td>
<td class="left subject">
{$val->mid} -
<a href="{getUrl('act','dispSpringnoteAdminSpringnoteInfo','module_srl',$val->module_srl)}" class="blue">{htmlspecialchars($val->browser_title)}</a>
</td>
<td class="tahoma">{zdate($val->regdate,"Y-m-d")}</td>
<td class="blue"><a href="{getUrl('','mid',$val->mid)}" onclick="window.open(this.href); return false;">{$lang->cmd_view}</a></td>
<td class="red"><!--@if($val->is_default!='Y')--><a href="{getUrl('act','dispSpringnoteAdminDeleteSpringnote','module_srl', $val->module_srl)}">{$lang->cmd_delete}</a><!--@end--></td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 버튼 -->
<div class="fr gap1">
<a href="{getUrl('act','dispSpringnoteAdminInsertSpringnote','module_srl','')}" class="button"><span>{$lang->cmd_make}</span></a>
</div>
<!-- 페이지 네비게이션 -->
<div class="pageNavigation">
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="../../admin/tpl/images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<span class="current">{$page_no}</span>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="../../admin/tpl/images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
</div>

View file

@ -0,0 +1,79 @@
/**
* @file modules/springnote/js/springnote_admin.js
* @author zero (zero@nzeo.com)
* @brief springnote 모듈의 관리자용 javascript
**/
/* 모듈 생성 후 */
function completeInsertSpringnote(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 = current_url.setQuery('act','dispSpringnoteAdminSpringnoteInfo');
if(module_srl) url = url.setQuery('module_srl',module_srl);
if(page) url.setQuery('page',page);
location.href = url;
}
/* 모듈 삭제 후 */
function completeDeleteSpringnote(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
var url = current_url.setQuery('act','dispSpringnoteAdminContent').setQuery('module_srl','');
if(page) url = url.setQuery('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);
location.href = location.href;
}
/* 카테고리 이동 */
function doChangeCategory(fo_obj) {
var module_category_srl = fo_obj.module_category_srl.options[fo_obj.module_category_srl.selectedIndex].value;
if(module_category_srl==-1) {
location.href = current_url.setQuery('act','dispModuleAdminCategory');
return false;
}
return true;
}

View file

@ -0,0 +1,116 @@
<!--#include("./header.html")-->
<form action="./" method="post" enctype="multipart/form-data" target="hidden_iframe">
<input type="hidden" name="module" value="{$module_info->module}" />
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procSpringnoteAdminUpdateSkinInfo" />
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="page" value="{$page}" />
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<caption>{$lang->skin_default_info}</caption>
<tr>
<th scope="row">{$lang->skin}</th>
<td class="left" >{$skin_info->title}</td>
</tr>
<tr>
<th scope="row">{$lang->skin_maker}</th>
<td class="left" >{$skin_info->maker->name} <!--@if($skin_info->maker->email_address)-->(<a href="mailto:{$skin_info->maker->email_address}">{$skin_info->maker->email_address}</a>)<!--@end--></td>
</tr>
<tr>
<th scope="row">{$lang->skin_maker_homepage}</th>
<td class="left" ><a href="{$skin_info->maker->homepage}" target="_blank">{$skin_info->maker->homepage}</a></td>
</tr>
<tr>
<th scope="row">{$lang->date}</th>
<td class="left" >{$skin_info->maker->date}</td>
</tr>
<tr>
<th scope="row">{$lang->description}</th>
<td class="left" >{nl2br($skin_info->maker->description)}</td>
</tr>
</table>
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<caption>{$lang->extra_vars}</caption>
<tr valign="top">
<th scope="row">{$lang->colorset}</th>
<td class="left" >
<!--@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="checked"<!--@end-->/>
<label for="colorset_{$key}">{$val->title}</label>
</div>
<!--@end-->
</td>
</tr>
<!--@foreach($skin_info->extra_vars as $key => $val)-->
<tr>
<th scope="row">{$val->title}</th>
<td class="left">
<!--@if($val->type=="text")-->
<input type="text" name="{$val->name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w100" />
<!--@elseif($val->type=="textarea")-->
<textarea name="{$val->name}" class="inputTypeTextArea w100">{htmlspecialchars($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="selected"<!--@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="checked"<!--@end--> class="checkbox" />
<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="checked"<!--@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}" class="checkbox" />
<label for="del_{$val->name}">{$lang->cmd_delete}</label>
</div>
<!--@end-->
<input type="file" name="{$val->name}" value="" />
<!--@end-->
<!--@if($val->description)-->
<p>{nl2br($val->description)}</p>
<!--@end-->
</td>
</tr>
<!--@end-->
<tr>
<th scope="row" colspan="2" class="button">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
</th>
</tr>
</table>
</form>
<iframe name="hidden_iframe" frameborder="0" style="display:none"></iframe>

View file

@ -0,0 +1,31 @@
<!--%import("filter/delete_springnote.xml")-->
<!--%import("js/springnote_admin.js")-->
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, delete_springnote)">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<tr>
<th scope="row" colspan="2">{$lang->confirm_delete}</th>
</tr>
<tr>
<th scope="row">{$lang->module_name}</th>
<td>{$module_info->mid}</td>
</tr>
<tr>
<th scope="row">{$lang->module}</th>
<td>{$module_info->module}</td>
</tr>
<tr>
<th scope="row" colspan="2" class="button">
<a href="{getUrl('act','dispSpringnoteAdminContent')}" class="button"><span>{$lang->cmd_back}</span></a>
<span class="button"><input type="submit" value="{$lang->cmd_delete}" /></span>
</th>
</tr>
</table>
</form>

View file

@ -0,0 +1,83 @@
<!--#include("header.html")-->
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<tr>
<th scope="row">{$lang->module_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 scope="row">{$lang->springnote_openid}</th>
<td>http://{$module_info->openid}/</td>
</tr>
<tr>
<th scope="row">{$lang->springnote_userkey}</th>
<td>{$module_info->userkey}&nbsp;</td>
</tr>
<tr>
<th scope="row">{$lang->springnote_pageid}</th>
<td>{$module_info->pageid}&nbsp;</td>
</tr>
<tr>
<th scope="row">{$lang->layout}</th>
<td>
<!--@if($module_info->layout_srl)-->
{$module_info->layout_title} ({$module_info->layout})
<!--@else-->
{$lang->not_exists}
<!--@end-->
&nbsp;
</td>
</tr>
<tr>
<th scope="row">{$lang->skin}</th>
<td>{$module_info->skin_title} ({$module_info->skin})</td>
</tr>
<tr>
<th scope="row">{$lang->browser_title}</th>
<td>{htmlspecialchars($module_info->browser_title)}</td>
</tr>
<tr>
<th scope="row">{$lang->use_category}</th>
<td><!--@if($module_info->use_category=='Y')-->{$lang->use}<!--@else-->{$lang->notuse}<!--@end--></td>
</tr>
<tr>
<th scope="row">{$lang->list_count}</th>
<td>{$module_info->list_count?$module_info->list_count:20}</td>
</tr>
<tr>
<th scope="row">{$lang->page_count}</th>
<td>{$module_info->page_count?$module_info->page_count:10}</td>
</tr>
<tr>
<th scope="row">{$lang->description}</th>
<td>{nl2br(htmlspecialchars($module_info->description))}&nbsp;</td>
</tr>
<tr>
<th scope="row">{$lang->header_text}</th>
<td>{htmlspecialchars($module_info->header_text)}&nbsp;</td>
</tr>
<tr>
<th scope="row">{$lang->footer_text}</th>
<td>{htmlspecialchars($module_info->footer_text)}&nbsp;</td>
</tr>
<tr>
<th scope="row">{$lang->admin_id}</th>
<td>{implode(",",$module_info->admin_id)}&nbsp;</td>
</tr>
<tr>
<th scope="row" colspan="2" class="button">
<a href="{getUrl('act','dispSpringnoteAdminInsertSpringnote')}" class="button"><span>{$lang->cmd_modify}</span></a>
<!--@if($module=="admin")-->
<a href="{getUrl('act','dispSpringnoteAdminContent','module_srl','')}" class="button"><span>{$lang->cmd_springnote_list}</span></a>
<!--@end-->
</th>
</tr>
</table>

View file

@ -0,0 +1,134 @@
<!--%import("filter/insert_springnote.xml")-->
<!--%import("js/springnote_admin.js")-->
<!--#include("header.html")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_springnote)" 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-->
<input type="hidden" name="use_category" value="N" />
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<tr>
<th scope="row">{$lang->mid}</th>
<td>
<input type="text" name="mid" value="{$module_info->mid}" class="inputTypeText" />
<p>{$lang->about_mid}</p>
</td>
</tr>
<!--@if($module_info->is_default!='Y')-->
<tr>
<th scope="row">{$lang->is_default}</th>
<td>
<input type="checkbox" name="is_default" value="Y" <!--@if($module_info->is_default=='Y')-->checked="checked"<!--@end--> id="fld_for_default" class="checkbox" />
<label for="fld_for_default">{$lang->about_default}</label>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->module_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="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
<p>{$lang->about_module_category}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->springnote_openid}</th>
<td>
http://<input type="text" name="springnote_openid" value="{htmlspecialchars($module_info->openid)}" class="inputTypeText w300" />/
<p>{$lang->about_springnote_openid}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->springnote_userkey}</th>
<td>
<input type="text" name="springnote_userkey" value="{htmlspecialchars($module_info->userkey)}" class="inputTypeText w300" />
<p>{$lang->about_springnote_userkey}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->springnote_pageid}</th>
<td>
<input type="text" name="springnote_pageid" value="{htmlspecialchars($module_info->pageid)}" class="inputTypeText w300" />
<p>{$lang->about_springnote_pageid}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->browser_title}</th>
<td>
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText w300" />
<p>{$lang->about_browser_title}</p>
</td>
</tr>
<tr>
<th scope="row">{$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="selected"<!--@end-->>{$val->title} ({$val->layout})</option>
<!--@end-->
</select>
<p>{$lang->about_layout}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->skin}</th>
<td>
<select name="skin">
<!--@foreach($skin_list as $key=>$val)-->
<option value="{$key}" <!--@if($module_info->skin==$key)-->selected="selected"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
<p>{$lang->about_skin}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->description}</th>
<td>
<textarea name="description" class="inputTypeTextArea w100">{htmlspecialchars($module_info->description)}</textarea>
<p>{$lang->about_description}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->header_text}</th>
<td>
<textarea name="header_text" class="inputTypeTextArea w100">{htmlspecialchars($module_info->header_text)}</textarea>
<p>{$lang->about_header_text}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->footer_text}</th>
<td>
<textarea name="footer_text" class="inputTypeTextArea w100">{htmlspecialchars($module_info->footer_text)}</textarea>
<p>{$lang->about_footer_text}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->admin_id}</th>
<td>
<textarea name="admin_id" class="inputTypeTextArea w100"><!--@if($module_info->admin_id)-->{implode(",",$module_info->admin_id)}<!--@end--></textarea>
<p>{$lang->about_admin_id}</p>
</td>
</tr>
<tr>
<th scope="row" colspan="2" class="button">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
</th>
</tr>
</table>
</form>