fixed identifier field

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9096 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2011-09-07 12:39:59 +00:00
parent f651391051
commit 0245d5553b
7 changed files with 123 additions and 16 deletions

View file

@ -162,6 +162,7 @@
if($args->image_name !='Y') $args->image_name = 'N';
if($args->image_mark !='Y') $args->image_mark = 'N';
if($args->signature!='Y') $args->signature = 'N';
$args->identifier = $all_args->identifier;
// signupForm
global $lang;
@ -171,14 +172,15 @@
$extendItems = $oMemberModel->getJoinFormList();
foreach($list_order as $key){
unset($signupItem);
$signupItem->isIdentifier = ($key == $all_args->identifier);
$signupItem->isDefaultForm = in_array($key, $items);
$signupItem->name = $key;
$signupItem->title = $lang->{$key};
$signupItem->mustRequired = in_array($key, $mustRequireds);
$signupItem->imageType = (strpos($key, 'image') !== false);
$signupItem->required = ($all_args->{$key} == 'required');
$signupItem->isUse = in_array($key, $usable_list);
$signupItem->required = ($all_args->{$key} == 'required') || $signupItem->mustRequired;
$signupItem->isUse = in_array($key, $usable_list) || $signupItem->required;
if ($signupItem->imageType){
$signupItem->max_width = $all_args->{$key.'_max_width'};

View file

@ -165,8 +165,14 @@
}
$formTags = $this->_getMemberInputTag($memberInfo);
Context::set('formTags', $formTags);
$member_config = $oMemberModel->getMemberConfig();
global $lang;
$identifierForm->title = $lang->{$member_config->identifier};
$identifierForm->name = $member_config->identifier;
$identifierForm->value = $memberInfo->{$member_config->identifier};
Context::set('identifierForm', $identifierForm);
$this->setTemplateFile('insert_member');
}
@ -180,7 +186,7 @@
foreach($member_config->signupForm as $no=>$formInfo){
if (!$formInfo->isUse)continue;
if ($formInfo->name == 'email_address' || $formInfo->name == 'password') continue;
if ($formInfo->name == $member_config->identifier || $formInfo->name == 'password') continue;
unset($formTag);
$inputTag = '';
$formTag->title = $formInfo->title;

View file

@ -54,9 +54,53 @@
if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
if($args->group_image_mark!='Y') $args->group_image_mark = 'N';
global $lang;
$oMemberModel = &getModel('member');
$extendItems = $oMemberModel->getJoinFormList();
$items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark');
$mustRequireds = array('email_address', 'password', 'find_account_question');
$orgRequireds = array('email_address', 'password', 'find_account_question');
$orgUse = array('email_address', 'password', 'find_account_question');
$list_order = array();
foreach($items as $key){
unset($signupItem);
$signupItem->isDefaultForm = true;
$signupItem->name = $key;
$signupItem->title = $lang->{$key};
$signupItem->mustRequired = in_array($key, $mustRequireds);
$signupItem->imageType = (strpos($key, 'image') !== false);
$signupItem->required = in_array($key, $orgRequireds);
$signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse);
if ($signupItem->imageType){
$signupItem->max_width = $config->{$key.'_max_width'};
$signupItem->max_height = $config->{$key.'_max_height'};
}
$list_order[] = $signupItem;
}
if (is_array($extendItems)){
foreach($extendItems as $form_srl=>$item_info){
unset($signupItem);
$signupItem->name = $item_info->column_name;
$signupItem->title = $item_info->column_title;
$signupItem->type = $item_info->column_type;
$signupItem->member_join_form_srl = $form_srl;
$signupItem->mustRequired = in_array($key, $mustRequireds);
$signupItem->required = ($item_info->required == 'Y');
$signupItem->isUse = ($item_info->is_active == 'Y');
$signupItem->description = $item_info->description;
if ($signupItem->imageType){
$signupItem->max_width = $config->{$key.'_max_width'};
$signupItem->max_height = $config->{$key.'_max_height'};
}
$list_order[] = $signupItem;
}
}
$args->signupForm = $list_order;
$oModuleController->insertModuleConfig('member',$args);
// Create a member controller object
$oMemberModel = &getModel('member');
$oMemberController = &getController('member');
$oMemberAdminController = &getAdminController('member');
@ -228,6 +272,7 @@
// Get join form list which is additionally set
$extendItems = $oMemberModel->getJoinFormList();
$identifier = 'user_id';
$items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark');
$mustRequireds = array('email_address', 'password', 'find_account_question');
$orgRequireds = array('email_address', 'password', 'find_account_question', 'user_id', 'nick_name', 'user_name');
@ -242,6 +287,7 @@
$signupItem->imageType = (strpos($key, 'image') !== false);
$signupItem->required = in_array($key, $orgRequireds);
$signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse);
$signupItem->isIdentifier = ($key == $identifier);
if ($signupItem->imageType){
$signupItem->max_width = $config->{$key.'_max_width'};
$signupItem->max_height = $config->{$key.'_max_height'};

View file

@ -140,6 +140,12 @@
$member_config = $oMemberModel->getMemberConfig();
Context::set('member_config', $member_config);
global $lang;
$identifierForm->title = $lang->{$member_config->identifier};
$identifierForm->name = $member_config->identifier;
$identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm);
// Set a template file
$this->setTemplateFile('modify_info');
}

View file

@ -18,10 +18,10 @@
<h1 class="h1">{$lang->msg_update_member}</h1>
<ul>
<li>
<p class="q">{$lang->email_address} <em style="color:red">*</em></p>
<p class="q">{$identifierForm->title} <em style="color:red">*</em></p>
<p class="a">
<input type="hidden" name="email_address" value="{$member_info->email_address}" />
<input type="text" name="email_address" value="{$member_info->email_address}" disabled="disabled" />
<input type="hidden" name="{$identifierForm->name}" value="{$identifierForm->value}" />
<input type="text" name="{$identifierForm->name}" value="{$identifierForm->value}" disabled="disabled" />
</p>
</li>
<li>

View file

@ -154,11 +154,33 @@ jQuery(function($){
});
$('a.modalAnchor._preview').bind('before-open.mw', function(){
var $inputList = $('input[name="usable_list[]"]:checked');
var title = '';
for(var i=0; i<$inputList.length; i++){
title = $($inputList[i]).closest('tr').find('.wrap ._title').html();
$('input[name=identifier]').change(function(){
var $checkedTR = $('input[name=identifier]:checked').closest('tr');
var $notCheckedTR = $('input[name=identifier]:not(:checked)').closest('tr');
var name, notName;
if (!$checkedTR.hasClass('sticky')){
name = $checkedTR.find('input[name="list_order[]"]').val();
if (!$checkedTR.find('input[type=hidden][name="usable_list[]"]').length) $('<input type="hidden" name="usable_list[]" value="'+name+'" />').insertBefore($checkedTR);
if (!$checkedTR.find('input[type=hidden][name='+name+']').length) $('<input type="hidden" name="'+name+'" value="required" />').insertBefore($checkedTR);
$checkedTR.find('th').html('<span class="_title" style="padding-left:20px" >'+$checkedTR.find('th ._title').html()+'</span>');
$checkedTR.find('input[type=checkbox][name="usable_list[]"]').attr('checked', 'checked').attr('disabled', 'disabled');
$checkedTR.find('input[type=radio][name='+name+'][value=required]').attr('checked', 'checked').attr('disabled', 'disabled');
$checkedTR.find('input[type=radio][name='+name+'][value=option]').removeAttr('checked').attr('disabled', 'disabled');
$checkedTR.addClass('sticky');
$checkedTR.parent().prepend($checkedTR);
notName = $notCheckedTR.find('input[name="list_order[]"]').val();
if (notName == 'user_id'){
if ($notCheckedTR.find('input[type=hidden][name="usable_list[]"]').length) $notCheckedTR.find('input[type=hidden][name="usable_list[]"]').remove();
if ($notCheckedTR.find('input[type=hidden][name='+name+']').length) $notCheckedTR.find('input[type=hidden][name='+name+']').remove();
$notCheckedTR.find('input[type=checkbox][name="usable_list[]"]').removeAttr('disabled');
$notCheckedTR.find('input[type=radio][name='+notName+']').removeAttr('disabled');
}
$notCheckedTR.find('th').html('<div class="wrap"><button type="button" class="dragBtn">Move to</button><span class="_title" >'+$notCheckedTR.find('th ._title').html()+'</span></div>');
$notCheckedTR.removeClass('sticky');
// add sticky class
}
});
});

View file

@ -112,6 +112,12 @@
<thead>
<tr>
<th scope="col">{$lang->target}</th>
<th scope="col">{$lang->identifier}
[<a href="#helpDefault" class="tgAnchor">?</a>]
<div class="tgContent layer" id="helpDefault" style="right:0">
<p>로그인시 사용할 필드를 선택합니다.</p>
</div>
</th>
<th scope="col">{$lang->use}</th>
<th scope="col">{$lang->cmd_required}/{$lang->cmd_optional}</th>
<th scope="col" class="text">{$lang->description}</th>
@ -119,17 +125,35 @@
</thead>
<tbody class="uDrag">
<!--@foreach($config->signupForm as $item)-->
<!--@if($item->isDefaultForm)-->
<!--@if($item->isIdentifier)-->
<tr class="sticky">
<input type="hidden" name="list_order[]" value="{$item->name}" />
<input type="hidden" name="usable_list[]" value="{$item->name}"/>
<input type="hidden" name="{$item->name}" value="requierd"/>
<th scope="row">
<span class="_title" style="padding-left:20px">{$item->title}</span>
</th>
<td><input type="radio" name="identifier" value="{$item->name}" checked="checked" /></td>
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked" disabled="disabled" /></td>
<td>
<input type="radio" id="{$item->name}_re" name="{$item->name}" value="requierd" checked="checked" disabled="disabled" /> <label for="{$item->name}_re">{$lang->cmd_required}</label>
<input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" disabled="disabled" /> <label for="{$item->name}_op">{$lang->cmd_optional}</label>
</td>
<td class="text">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<!--@elseif($item->isDefaultForm)-->
<tr class="_imageType"|cond="$item->imageType">
<input type="hidden" name="list_order[]" value="{$item->name}" />
<input type="hidden" name="usable_list[]" value="{$item->name}" cond="$item->mustRequired"/>
<input type="hidden" name="{$item->name}" value="requierd" cond="$item->mustRequired"/>
<th scope="row">
<div class="wrap">
<button type="button" class="dragBtn">Move to</button>
<span class="_title">{$item->title}</span>
</div>
</th>
<input type="hidden" name="usable_list[]" value="{$item->name}" cond="$item->mustRequired"/>
<input type="hidden" name="{$item->name}" value="requierd" cond="$item->mustRequired"/>
<td><input type="radio" name="identifier" value="{$item->name}" cond="$item->name== 'email_address' || $item->name=='user_id'" /></td>
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->mustRequired || $item->isUse" disabled="disabled"|cond="$item->mustRequired" /></td>
<td>
<input type="radio" id="{$item->name}_re" name="{$item->name}" value="required" checked="checked"|cond="$item->mustRequired || $item->required" disabled="disabled"|cond="$item->mustRequired || !$item->isUse" /> <label for="{$item->name}_re">{$lang->cmd_required}</label>
@ -153,6 +177,7 @@
<span class="_title">{$item->title}</span>
</div>
</th>
<td></td>
<td><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked"|cond="$item->isUse" /></td>
<td>
<input type="radio" id="{$item->name}_re" name="{$item->name}" value="required" checked="checked"|cond="$item->required" disabled="disabled"|cond="!$item->isUse"/> <label for="{$item->name}_re">{$lang->cmd_required}</label>