add member info/signup skin

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9080 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2011-09-07 07:50:22 +00:00
parent 43f4cde8e7
commit 2d8a72a00f
8 changed files with 162 additions and 476 deletions

View file

@ -45,7 +45,7 @@
<action name="procMemberLogout" type="controller" standalone="true" />
<action name="procMemberCheckValue" type="controller" standalone="true" />
<action name="procMemberInsert" type="controller" standalone="true" ruleset="@insertMember" />
<action name="procMemberModifyInfo" type="controller" standalone="true" ruleset="modifyInfo" />
<action name="procMemberModifyInfo" type="controller" standalone="true" ruleset="@insertMember" />
<action name="procMemberModifyPassword" type="controller" standalone="true" ruleset="modifyPassword" />
<action name="procMemberLeave" type="controller" standalone="true" ruleset="leaveMember" />
<action name="procMemberOpenIDLeave" type="controller" standalone="true" />

View file

@ -859,6 +859,9 @@
<value xml:lang="tr"><![CDATA[Kaydol]]></value>
<value xml:lang="vi"><![CDATA[Đăng kí]]></value>
</item>
<item name="cmd_modify_member_info">
<value xml:lang="ko"><![CDATA[회원정보 변경]]></value>
</item>
<item name="cmd_modify_member_password">
<value xml:lang="ko"><![CDATA[비밀번호 변경]]></value>
<value xml:lang="en"><![CDATA[Modify Password]]></value>

View file

@ -19,7 +19,7 @@
function procMemberAdminInsert() {
// if(Context::getRequestMethod() == "GET") return new Object(-1, "msg_invalid_request");
// Extract the necessary information in advance
$args = Context::gets('member_srl','email_address','allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date');
$args = Context::gets('member_srl','email_address','find_account_answer', 'allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date');
$oMemberModel = &getModel ('member');
$config = $oMemberModel->getMemberConfig ();
$getVars = array();
@ -623,7 +623,7 @@
}
/**
* @brief Insert a group
* @brief find_account_answerInsert a group
**/
function insertGroup($args) {
if(!$args->site_srl) $args->site_srl = 0;

View file

@ -132,6 +132,9 @@
$memberInfo = get_object_vars(Context::get('member_info'));
Context::set('memberInfo', $memberInfo);
$disableColumns = array('password', 'find_account_question');
Context::set('disableColumns', $disableColumns);
$this->setTemplateFile('member_info');
}
@ -169,9 +172,9 @@
function _getMemberInputTag($memberInfo){
$oMemberModel = &getModel('member');
$extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo);
$memberInfo = get_object_vars($memberInfo);
$member_config = $oMemberModel->getMemberConfig();
$extend_form_list = $oMemberModel->getCombineJoinForm($this->memberInfo);
$formTags = array();
global $lang;
@ -183,6 +186,7 @@
$formTag->title = $formInfo->title;
if ($formInfo->required || $formInfo->mustRequired && $formInfo->name != 'password') $formTag->title = $formTag->title.' <em style="color:red">*</em>';
$formTag->name = $formInfo->name;
if($formInfo->isDefaultForm){
if($formInfo->imageType){
if($formInfo->name == 'profile_image'){
@ -238,56 +242,44 @@
}//end isDefaultForm
else{
$extendForm = $extend_form_list[$formInfo->member_join_form_srl];
if($extendForm->column_type == 'text' || $extendForm->column_type == 'homepage' || $extendForm->column_type == 'email_address'){
$inputTag = sprintf('<input type="text" name="%s" value="%s" />'
,$formInfo->name
,$extendForm->value);
}elseif($extendForm->column_type == 'tel'){
$inputTag = sprintf('<input type="text" name="%s" value="%d" size="4" />-<input type="text" name="%s" value="%d" size="4" />-<input type="text" name="%s" value="%d" size="4" />'
,$formInfo->name
,$extendForm->value[0]
,$formInfo->name
,$extendForm->value[1]
,$formInfo->name
,$extendForm->value[2]);
}elseif($extendForm->column_type == 'textarea'){
$inputTag = sprintf('<textarea name="%s">%s</textarea>'
,$formInfo->name
,$extendForm->value);
$replace = array('column_name' => $extendForm->column_name,
'value' => $extendForm->value);
$extentionReplace = array();
if($extendForm->column_type == 'text' || $extendForm->column_type == 'homepage' || $extendForm->column_type == 'email_address'){
$template = '<input type="text" name="%column_name%" value="%value%" />';
}elseif($extendForm->column_type == 'tel'){
$extentionReplace = array('tel_0' => $extendForm->value[0],
'tel_1' => $extendForm->value[1],
'tel_2' => $extendForm->value[2]);
$template = '<input type="text" name="%column_name%[]" value="%tel_0%" size="4" />-<input type="text" name="%column_name%[]" value="%tel_1%" size="4" />-<input type="text" name="%column_name%" value="%tel_2%" size="4" />';
}elseif($extendForm->column_type == 'textarea'){
$template = '<textarea name="%column_name%">%value%</textarea>';
}elseif($extendForm->column_type == 'checkbox'){
$template = '';
if($extendForm->default_value){
$__i = 0;
foreach($extendForm->default_value as $v){
$checked = '';
if(is_array($extendForm->value) && in_array($v, $extendForm->value))$checked = 'checked="checked"';
$inputTag .= sprintf('<input type="checkbox" id="%s" name="%s[]" value="%s" %s /><label for="%s">%s</label>'
,$extendForm->column_name.$__i
,$extendForm->column_name
,htmlspecialchars($v)
,$checked
,$extendForm->column_name.$__i
,$v);
$template .= '<input type="checkbox" id="%column_name%'.$__i.'" name="%column_name%[]" value="'.htmlspecialchars($v).'" '.$checked.' /><label for="%column_name%'.$__i.'">'.$v.'</label>';
$__i++;
}
}
}elseif($extendForm->column_type == 'radio'){
$template = '';
if($extendForm->default_value){
$inputTag = '<ul class="radio">%s</ul>';
$template = '<ul class="radio">%s</ul>';
$optionTag = array();
foreach($extendForm->default_value as $v){
if($extendForm->value == $v)$checked = 'checked="checked"';
else $checked = '';
$optionTag[] = sprintf('<li><input type="radio" name="%s" value="%s" %s />%s</li>'
,$extendForm->column_name
,$v
,$checked
,$v);
$optionTag[] = '<li><input type="radio" name="%column_name%" value="'.$v.'" '.$checked.' />'.$v.'</li>';
}
$inputTag = sprintf($inputTag, implode('', $optionTag));
$template = sprintf($template, implode('', $optionTag));
}
}elseif($extendForm->column_type == 'select'){
$inputTag = '<select name="'.$formInfo->name.'">%s</select>';
$template = '<select name="'.$formInfo->name.'">%s</select>';
$optionTag = array();
if($extendForm->default_value){
foreach($extendForm->default_value as $v){
@ -299,54 +291,46 @@
,$v);
}
}
$inputTag = sprintf($inputTag, implode('', $optionTag));
$template = sprintf($template, implode('', $optionTag));
}elseif($extendForm->column_type == 'kr_zip'){
Context::loadFile(array('./modules/member/tpl/js/krzip_search.js', 'body'));
$content = <<<EOD
$extentionReplace = array(
'msg_kr_address' => $lang->msg_kr_address,
'msg_kr_address_etc' => $lang->msg_kr_address_etc,
'cmd_search' => $lang->cmd_search,
'cmd_search_again' => $lang->cmd_search_again,
'addr_0' => $extendForm->value[0],
'addr_1' => $extendForm->value[1],);
$replace = array_merge($extentionReplace, $replace);
$template = <<<EOD
<div class="krZip">
<div class="a" id="zone_address_search_%s" %s>
<label for="krzip_address1_%s">%s</label><br />
<input type="text" id="krzip_address1_%s" value="%s" />
<button type="button">%s</button>
<div class="a" id="zone_address_search_%column_name%" >
<label for="krzip_address1_%column_name%">%msg_kr_address%</label><br />
<input type="text" id="krzip_address1_%column_name%" value="%addr_0%" />
<button type="button">%cmd_search%</button>
</div>
<div class="a" id="zone_address_list_%s" style="display:none">
<input type="hidden" name="%s[]" value="%s" %s />
<select name="%s[]" id="address_list_%s"></select>
<button type="button">%s</button>
<div class="a" id="zone_address_list_%column_name%" style="display:none">
<select name="%column_name%[]" id="address_list_%column_name%"><option value="%addr_0%">%addr_0%</select>
<button type="button">%cmd_search_again%</button>
</div>
<div class="a address2">
<label for="krzip_address2_%s">%s</label><br />
<input type="text" name="%s[]" id="krzip_address2_%s" value="%s" />
<label for="krzip_address2_%column_name%">%msg_kr_address_etc%</label><br />
<input type="text" name="%column_name%[]" id="krzip_address2_%column_name%" value="%addr_1%" />
</div>
</div>
<script type="text/javascript">jQuery(function($){ $.krzip('%s') });</script>
<script type="text/javascript">jQuery(function($){ $.krzip('%column_name%') });</script>
EOD;
$hiddenDisabled = $extendForm->value[0]?'':'disabled="disabled"';
$inputTag = sprintf($content
,$extendForm->column_name, ''
,$extendForm->column_name, $lang->msg_kr_address
,$extendForm->column_name, $extendForm->value[0]
,$lang->cmd_search
,$extendForm->column_name
,$extendForm->column_name, $extendForm->value[0], $hiddenDisabled
,$extendForm->column_name, $extendForm->column_name
,$lang->cmd_search_again
,$extendForm->column_name, $lang->msg_kr_address_etc
,$extendForm->column_name, $extendForm->column_name, $extendForm->value[1]
,$extendForm->column_name);
}elseif($extendForm->column_type == 'jp_zip'){
$inputTag = sprintf('<input type="text" name="%s" value="%s" />'
,$extendForm->column_name
,$extendForm->value);
$template = '<input type="text" name="%column_name%" value="%value%" />';
}elseif($extendForm->column_type == 'date'){
$inputTag = sprintf('<input type="hidden" name="%s" id="date_%s" value="%s" /><input type="text" class="inputDate" value="%s" readonly="readonly" /><span class="button"><input type="button" value="%s" class="dateRemover" /></span>'
,$extendForm->column_name
,$extendForm->column_name
,$extendForm->value
,zdate($extendForm->value, 'Y-m-d')
,$lang->cmd_delete);
$extentionReplace = array('date' => zdate($extendForm->value, 'Y-m-d'),
'cmd_delete' => $lang->cmd_delete);
$template = '<input type="hidden" name="%column_name%" id="date_%column_name%" value="%value%" /><input type="text" class="inputDate" value="%date%" readonly="readonly" /><span class="button"><input type="button" value="%cmd_delete%" class="dateRemover" /></span>';
}
$replace = array_merge($extentionReplace, $replace);
$inputTag = preg_replace('@%(\w+)%@e', '$replace[$1]', $template);
if($extendForm->description)
$inputTag .= '<p style="color:#999;">'.htmlspecialchars($extendForm->description).'</p>';
}

View file

@ -560,7 +560,19 @@
function procMemberModifyInfo() {
if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
// Extract the necessary information in advance
$args = Context::gets('user_name','nick_name','homepage','blog','birthday','email_address','allow_mailing','find_account_question','find_account_answer');
$oMemberModel = &getModel ('member');
$config = $oMemberModel->getMemberConfig ();
$getVars = array('find_account_answer','allow_mailing','allow_message');
if ($config->signupForm){
foreach($config->signupForm as $formInfo){
if($formInfo->isDefaultForm && $formInfo->isUse || $formInfo->required || $formInfo->mustRequired){
$getVars[] = $formInfo->name;
}
}
}
foreach($getVars as $val){
$args->{$val} = Context::get($val);
}
// Login Information
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
@ -575,6 +587,9 @@
unset($all_args->accept_agreement);
unset($all_args->signature);
unset($all_args->_filter);
unset($all_args->mid);
unset($all_args->error_return_url);
unset($all_args->ruleset);
// Add extra vars after excluding necessary information from all the requested arguments
$extra_vars = delObjectVars($all_args, $args);
@ -1682,26 +1697,29 @@
$oDB->rollback();
return $output;
}
if(is_array($args->group_srl_list)) $group_srl_list = $args->group_srl_list;
else $group_srl_list = explode('|@|', $args->group_srl_list);
// If the group information, group information changes
if(count($group_srl_list) > 0) {
$args->site_srl = 0;
// One of its members to delete all the group
$output = executeQuery('member.deleteMemberGroupMember', $args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// Enter one of the loop a
for($i=0;$i<count($group_srl_list);$i++) {
$output = $this->addMemberToGroup($args->member_srl,$group_srl_list[$i]);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
}
}
if ($args->group_srl_list){
if(is_array($args->group_srl_list)) $group_srl_list = $args->group_srl_list;
else $group_srl_list = explode('|@|', $args->group_srl_list);
// If the group information, group information changes
if(count($group_srl_list) > 0) {
$args->site_srl = 0;
// One of its members to delete all the group
$output = executeQuery('member.deleteMemberGroupMember', $args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// Enter one of the loop a
for($i=0;$i<count($group_srl_list);$i++) {
$output = $this->addMemberToGroup($args->member_srl,$group_srl_list[$i]);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
}
}
}
// Call a trigger (after)
if($output->toBool()) {
$trigger_output = ModuleHandler::triggerCall('member.updateMember', 'after', $args);

View file

@ -133,6 +133,13 @@
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor);
}
$oMemberAdminView = &getAdminView('member');
$formTags = $oMemberAdminView->_getMemberInputTag($member_info);
Context::set('formTags', $formTags);
$member_config = $oMemberModel->getMemberConfig();
Context::set('member_config', $member_config);
// Set a template file
$this->setTemplateFile('modify_info');
}

View file

@ -4,8 +4,8 @@
<div class="table even">
<table width="100%" border="1" cellspacing="0">
<!--@foreach($member_config->signupForm as $no=>$formInfo)-->
<!--@if($formInfo->name == 'find_account_question')-->
<!--@elseif($formInfo->isDefaultForm)-->
<!--@if($formInfo->isUse && ($formInfo->name != 'password' && $formInfo->name != 'find_account_question'))-->
<!--@if($formInfo->isDefaultForm)-->
{@$title = $formInfo->title}
{@$value = $memberInfo[$formInfo->name]}
<!--@if($formInfo->name == 'profile_image' && $memberInfo['profile_image'])-->
@ -38,169 +38,41 @@
<!--@end-->
<!--@end-->
<tr cond="$formInfo->isUse && $formInfo->name != 'password'">
<th scope="row" >{$title} <em cond="$formInfo->required || $formInfo->mustRequired">*</em></th>
<tr>
<th scope="row" >{$title} <em style="color:red" cond="$formInfo->required || $formInfo->mustRequired">*</em></th>
<td class="text">{$value}</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->allow_mailing}</th>
<td class="text"><!--@if($memberInfo['allow_mailing'] == 'Y')-->{$lang->cmd_yes}<!--@else-->{$lang->cmd_no}<!--@end--></td>
</tr>
<tr>
<th scope="row">{$lang->allow_message}</th>
<td class="text">{$lang->allow_message_type[$memberInfo['allow_message']]}</td>
</tr>
<tr>
<th scope="row">{$lang->denied}</th>
<td class="text"><!--@if($memberInfo['denied'] == 'N')-->{$lang->cmd_no}<!--@else-->{$lang->cmd_yes}<!--@end--></td>
</tr>
<tr cond="$memberInfo['limit_date']">
<th scope="row">{$lang->limit_date}</th>
<td class="text">{zdate($memberInfo['limit_date'],"Y-m-d H:i")}</td>
</tr>
<tr cond="$memberInfo['is_admin'] == 'Y'">
<th scope="row">{$lang->is_admin}</th>
<td class="text">{$lang->cmd_yes}</td>
</tr>
<!--@end-->
<tr>
<th scope="row">{$lang->group}</th>
<td class="text">{implode(', ', $memberInfo['group_list'])}</td>
</tr>
<tr cond="$memberInfo['description']">
<th scope="row"><div>{$lang->description}</div></th>
<td>{$memberInfo['description']}&nbsp;</td>
<tr>
<th><div>{$lang->signup_date}</div></th>
<td>{zdate($memberInfo[regdate],"Y-m-d H:i")}</td>
</tr>
<!--@if($memberInfo[member_srl] == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
<tr>
<th><div>{$lang->last_login}</div></th>
<td>{zdate($memberInfo[last_login],"Y-m-d H:i")}</td>
</tr>
<!--@end-->
<tr>
<th colspan="2" class="button">
<!--@if($memberInfo['member_srl'] == $logged_info->member_srl)-->
<a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}" class="button black strong"><span>{$lang->cmd_modify_member_info}</span></a>
<!--@if($logged_info->is_openid)-->
<a href="{getUrl('act','dispMemberOpenIDLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
<!--@else-->
<a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}" class="button green"><span>{$lang->cmd_modify_member_password}</span></a>
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
<!--@end-->
<!--@end-->
<a href="{getUrl('act','','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</tr>
</table>
</div>
<h3>{$lang->cmd_view_member_info}</h3>
<table cellspacing="0" class="rowTable">
<tr><th colspan="2" class="title"><div>{$lang->member_default_info}</div></th></tr>
<tr>
<th><div>{$lang->user_name}</div></th>
<td class="wide">{htmlspecialchars($member_info->user_name)}</td>
</tr>
<tr>
<th><div>{$lang->nick_name}</div></th>
<td>{htmlspecialchars($member_info->nick_name)}</td>
</tr>
<!--@if($member_info->profile_image->src)-->
<tr>
<th><div>{$lang->profile_image}</div></th>
<td><img src="{$member_info->profile_image->src}" border="0" alt="profile_image" /></td>
</tr>
<!--@end-->
<!--@if($member_info->image_name->src)-->
<tr>
<th><div>{$lang->image_name}</div></th>
<td><img src="{$member_info->image_name->src}" border="0" alt="image_name" /></td>
</tr>
<!--@end-->
<!--@if($member_info->image_mark->src)-->
<tr>
<th><div>{$lang->image_mark}</div></th>
<td><img src="{$member_info->image_mark->src}" border="0" alt="image_mark" /></td>
</tr>
<!--@end-->
<tr>
<th><div>{$lang->homepage}</div></th>
<td><!--@if($member_info->homepage)--><a href="{htmlspecialchars($member_info->homepage)}" onclick="window.open(this.href); return false;">{htmlspecialchars($member_info->homepage)}</a><!--@else-->&nbsp;<!--@end--></td>
</tr>
<tr>
<th><div>{$lang->blog}</div></th>
<td><!--@if($member_info->blog)--><a href="{htmlspecialchars($member_info->blog)}" onclick="window.open(this.href); return false;">{htmlspecialchars($member_info->blog)}</a><!--@else-->&nbsp;<!--@end--></td>
</tr>
<tr>
<th><div>{$lang->birthday}</div></th>
<td><!--@if($member_info->birthday)-->{zdate($member_info->birthday,"Y-m-d")}<!--@else-->&nbsp;<!--@end--></td>
</tr>
<!--@if($member_info->signature)-->
<tr>
<th><div>{$lang->signature}</div></th>
<td>{$member_info->signature}</td>
</tr>
<!--@end-->
<tr>
<th><div>{$lang->group}</div></th>
<td><!--@foreach($member_info->group_list as $key => $val)-->{$val} <!--@end--></td>
</tr>
<tr>
<th><div>{$lang->signup_date}</div></th>
<td>{zdate($member_info->regdate,"Y-m-d H:i")}</td>
</tr>
<!--@if($member_info->member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' )-->
<tr>
<th><div>{$lang->last_login}</div></th>
<td>{zdate($member_info->last_login,"Y-m-d H:i")}</td>
</tr>
<!--@end-->
<!--@if($member_config->enable_openid=="Y")-->
<!--@if(sizeof($openids) > 0)-->
<tr>
<th colspan="2" class="title"><div>{$lang->openid} </div></th>
</tr>
<!--@foreach($openids as $openid)-->
<tr>
<th><div>{$lang->openid}</div></th>
<td> <a href="{$openid->bookmarklet}">{$openid->openid}</a> </td>
</tr>
<!--@end-->
<!--@end-->
<!--@end-->
<!--@if($extend_form_list)-->
<tr>
<th class="title" colspan="2"><div>{$lang->member_extend_info}</div></th>
</tr>
{@ $dummy_chk = 0 }
<!--@foreach($extend_form_list as $key => $val)-->
<tr <!--@if($dummy_chk==0)-->class="first-child" {@ $dummy_chk = 1; }<!--@end-->>
<th>
<div>
{htmlspecialchars($val->column_title)}
</div>
</th>
<td>
<!--@if($val->is_private)-->
<span class="privateItem">{$lang->private}</span>
<!--@else-->
<!--@if($val->column_type=='tel' && $val->value[0] && $val->value[1] && $val->value[2])-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
<!--@elseif($val->column_type=='kr_zip')-->
{htmlspecialchars($val->value[0])}<!--@if($val->value[1]&&$val->value[0])--><br /><!--@end-->{htmlspecialchars($val->value[1])}
<!--@elseif($val->column_type=='checkbox' && is_array($val->value))-->
{htmlspecialchars(implode(", ",$val->value))}&nbsp;
<!--@elseif($val->column_type=='date' && $val->value)-->
{zdate($val->value, "Y-m-d")}&nbsp;
<!--@else-->
{nl2br(htmlspecialchars($val->value))}&nbsp;
<!--@end-->
<!--@end-->
</td>
</tr>
<!--@end-->
<!--@end-->
<tr>
<th colspan="2" class="button">
<!--@if($member_info->member_srl == $logged_info->member_srl)-->
<a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}" class="button black strong"><span>{$lang->cmd_modify_member_info}</span></a>
<!--@if($logged_info->is_openid)-->
<a href="{getUrl('act','dispMemberOpenIDLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
<!--@else-->
<a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}" class="button green"><span>{$lang->cmd_modify_member_password}</span></a>
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button red"><span>{$lang->cmd_leave}</span></a>
<!--@end-->
<!--@end-->
<a href="{getUrl('act','','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</tr>
</table>
</div>
<!--#include("./common_footer.html")-->

View file

@ -27,240 +27,42 @@
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="modifyInfo" id="fo_insert_member" action="{getUrl()}" method="post" <!--@if($member_config->profile_image == 'Y' || $member_config->image_name=='Y' || $member_config->image_mark=='Y')-->enctype="multipart/form-data"<!--@end-->>
<form ruleset="@insertMember" id="fo_insert_member" action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" />
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature)}" />
<input type="hidden" name="page" value="{$page}" />
<table cellspacing="0" class="rowTable">
<tr><th colspan="2" class="title"><div>{$lang->member_default_info}</div></th></tr>
<tr>
<th><div>{$lang->user_id}</div></th>
<td class="wide">{htmlspecialchars($member_info->user_id)}</td>
</tr>
<tr>
<th><div>{$lang->user_name} <span class="require">*</span></div></th>
<td class="wide"><input type="text" name="user_name" value="{htmlspecialchars($member_info->user_name)}" /> <p>{$lang->about_user_name}</p></td>
</tr>
<tr>
<th><div>{$lang->nick_name} <span class="require">*</span></div></th>
<td><input type="text" name="nick_name" value="{htmlspecialchars($member_info->nick_name)}" /> <p>{$lang->about_nick_name}</p></td>
</tr>
<tr>
<th><div>{$lang->email_address} <span class="require">*</span></div></th>
<td><input type="text" name="email_address" value="{htmlspecialchars($member_info->email_address)}" /><p>{$lang->about_email_address}</p></td>
</tr>
<!--@if(count($lang->find_account_question_items)>1)-->
<tr>
<th><div>{$lang->find_account_question} <span class="require">*</span></div></th>
<td>
<select name="find_account_question">
<!--@for($i=1,$c=count($lang->find_account_question_items);$i<$c;$i++)-->
<option value="{$i}">{$lang->find_account_question_items[$i]}</option>
<!--@end-->
</select>
<br />
<input type="text" name="find_account_answer" value="{$member_info->find_account_answer}" class="iText w300"/>
</td>
</tr>
<!--@end-->
<!--@if($member_config->profile_image == 'Y')-->
<tr>
<th><div>{$lang->profile_image}</div></th>
<td>
<!--@if($member_info->profile_image->src)-->
<div class="memberImage">
<div class="info"><img src="{$member_info->profile_image->src}" border="0" alt="profile_image" /></div>
<a href="#" onclick="doDeleteProfileImage({$member_info->member_srl});return false;" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<!--@end-->
<div class="memberImage">
<div class="form"><input type="file" name="profile_image" value="" /></div>
<button type="submit" name="act" value="procMemberInsertProfileImage">{$lang->cmd_registration}</button>
</div>
<p>{$lang->profile_image_max_width} : {$member_config->profile_image_max_width}px, {$lang->profile_image_max_height} : {$member_config->profile_image_max_height}px</p>
</td>
</tr>
<!--@end-->
<!--@if($member_config->image_name == 'Y')-->
<tr>
<th><div>{$lang->image_name}</div></th>
<td>
<!--@if($member_info->image_name->src)-->
<div class="memberImage">
<div class="info"><img src="{$member_info->image_name->src}" border="0" alt="image_name" /></div>
<a href="#" onclick="doDeleteImageName({$member_info->member_srl});return false;" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<!--@end-->
<div class="memberImage">
<div class="form"><input type="file" name="image_name" value="" /></div>
<button type="submit" name="act" value="procMemberInsertImageName">{$lang->cmd_registration}</button>
</div>
<p>{$lang->image_name_max_width} : {$member_config->image_name_max_width}px, {$lang->image_name_max_height} : {$member_config->image_name_max_height}px</p>
</td>
</tr>
<!--@end-->
<!--@if($member_config->image_mark == 'Y')-->
<tr>
<th><div>{$lang->image_mark}</div></th>
<td>
<!--@if($member_info->image_mark->src)-->
<div class="memberImage">
<div class="info"><img src="{$member_info->image_mark->src}" border="0" alt="image_mark" /></div>
<a href="#" onclick="doDeleteImageMark({$member_info->member_srl});return false;" class="button"><span>{$lang->cmd_delete}</span></a>
</div>
<!--@end-->
<div class="memberImage">
<div class="form"><input type="file" name="image_mark" value="" /></div>
<button type="submit" name="act" value="procMemberInsertImageMark">{$lang->cmd_registration}</button>
</div>
<p>{$lang->image_mark_max_width} : {$member_config->image_mark_max_width}px, {$lang->image_mark_max_height} : {$member_config->image_mark_max_height}px</p>
</td>
</tr>
<!--@end-->
<tr>
<th><div>{$lang->homepage}</div></th>
<td><input type="text" name="homepage" value="{htmlspecialchars($member_info->homepage)}" /> <p>{$lang->about_homepage}</p></td>
</tr>
<tr>
<th><div>{$lang->blog}</div></th>
<td><input type="text" name="blog" value="{htmlspecialchars($member_info->blog)}" /> <p>{$lang->about_blog_url}</p></td>
</tr>
<tr>
<th><div>{$lang->birthday}</div></th>
<td>
<input type="hidden" name="birthday" value="{$member_info->birthday}" />
<input type="text" class="inputDate" value="{zdate($member_info->birthday,'Y-m-d')}" readonly="readonly" />
<span class="button"><input type="button" value="{$lang->cmd_delete}" class="dateRemover" /></span>
<p>{$lang->about_birthday}</p>
</td>
</tr>
<tr>
<th><div>{$lang->allow_mailing}</div></th>
<td><input type="checkbox" name="allow_mailing" value="Y" class="checkbox" <!--@if($member_info->allow_mailing!='N')-->checked="checked"<!--@end--> /> <p>{$lang->about_allow_mailing}</p></td>
</tr>
<!--@if($member_config->signature != 'N')-->
<tr>
<th><div>{$lang->signature}</div></th>
<td>{$editor}</td>
</tr>
<!--@end-->
<!--@if($extend_form_list)-->
<tr><th colspan="2" class="title"><div>{$lang->member_extend_info}</div></th></tr>
{@ $dummy_chk = 0 }
<!--@foreach($extend_form_list as $key => $val)--><!--@if($val->is_active=='Y')-->
<tr <!--@if($dummy_chk==0)-->class="first-child" {@ $dummy_chk = 1; }<!--@end-->>
<th>
{htmlspecialchars($val->column_title)}
<!--@if($val->required=='Y')--><span class="require">*</span><!--@end-->
</th>
<td>
<!--// 일반 text -->
<!--@if($val->column_type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="iText w400" />
<!--// 홈페이지 주소 -->
<!--@elseif($val->column_type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="iText w400" />
<!--// Email 주소 -->
<!--@elseif($val->column_type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="iText w400" />
<!--// 전화번호 -->
<!--@elseif($val->column_type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="iText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="iText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="iText" />
<!--// textarea -->
<!--@elseif($val->column_type == 'textarea')-->
<textarea name="{$val->column_name}" class="iTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!--// 다중 선택 -->
<!--@elseif($val->column_type == 'checkbox')-->
<!--@if($val->default_value)-->
<ul class="checkbox">
<!--@foreach($val->default_value 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->column_type == 'radio')-->
<!--@if($val->default_value)-->
<ul class="radio">
<!--@foreach($val->default_value as $v)-->
<li><input type="radio" name="{$val->column_name}" value="{$v}" <!--@if($val->value == $v)-->checked="checked"<!--@end-->/>{$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!--// 단일 선택 -->
<!--@elseif($val->column_type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default_value)-->
<!--@foreach($val->default_value as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!--// 한국 주소 검색 -->
<!--@elseif($val->column_type == 'kr_zip')-->
<div class="krZip">
<div class="item" id="zone_address_search_{$val->column_name}" style="display:none"|cond="$val->value[0]">
<label for="krzip_address1_{$val->column_name}" class="iLabel">{$lang->msg_kr_address}</label>
<input type="text" id="krzip_address1_{$val->column_name}" class="iText w200" value="" />
<span class="button"><button type="button">{$lang->cmd_search}</button></span>
</div>
<div class="item" id="zone_address_list_{$val->column_name}" style="display:none"|cond="!$val->value[0]">
<select name="{$val->column_name}[]" id="address_list_{$val->column_name}" class="w300">
<option value="{$val->value[0]}"|cond="$val->value[0]">{$val->value[0]}</option>
</select>
<span class="button"><button type="button">{$lang->cmd_search_again}</button></span>
</div>
<div class="item address2">
<label for="krzip_address2_{$val->column_name}" class="iLabel">{$lang->msg_kr_address_etc}</label>
<input type="text" name="{$val->column_name}[]" id="krzip_address2_{$val->column_name}" value="{htmlspecialchars($val->value[1])}" class="iText w300" />
</div>
</div>
<load target="../../tpl/js/krzip_search.js" type="body" />
<script type="text/javascript">jQuery(function($){ $.krzip('{$val->column_name}') });</script>
<!--// 일본 주소 검색 -->
<!--@elseif($val->column_type == 'jp_zip')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="iText w300" />
<!--// 날짜 입력 -->
<!--@elseif($val->column_type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" />
<span class="button"><input type="button" value="{$lang->cmd_delete}" class="dateRemover" /></span>
<!--@end-->
<p>{$val->description}</p>
<div class="publicItem">
<input type="checkbox" class="checkbox" name="open_{$val->column_name}" <!--@if($val->is_opened)-->checked="checked"<!--@end--> value="Y" id="open_{$val->column_name}" />
<label for="open_{$val->column_name}">{$lang->public}</label>
</div>
</td>
</tr>
<!--@end--><!--@end-->
<!--@end-->
<ul>
<li>
<p class="q">{$lang->email_address} <em style="color:red">*</em></p>
<p class="a">
<input type="hidden" name="email_address" value="{$member_info->email_address}" />
<input type="text" value="{$member_info->email_address}" disabled="disabled" />
</p>
</li>
<li loop="$formTags=>$formTag">
<p class="q">{$formTag->title}</p>
<div class="a" cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
<div class="a" cond="$formTag->name =='signature'">{$editor}</div>
</li>
<li>
<p class="q">{$lang->allow_mailing}</p>
<p class="a">
<input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'"> <label for="mailingYes">{$lang->cmd_yes}</label>
<input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" > <label for="mailingNo">{$lang->cmd_no}</label>
</p>
</li>
<li>
<p class="q">{$lang->allow_message}</p>
<p class="a">
<block loop="$lang->allow_message_type=>$key,$val">
<input type="radio" name="allow_message" value="{$key}" checked="checked"|cond="$member_info->allow_message == $key" id="allow_{$key}" /> <label for="allow_{$key}">{$val}</label>
</block>
</p>
</li>
</ul>
<!--@if($member_config->enable_openid=="Y")-->
<tr><th class="title" colspan="2"><div>{$lang->openid}</div></th></tr>