fix #2177 XEVE-17-023 회원의 이메일을 회원 정보에서 노출하지 않도록 변경

- 모듈 업데이트를 통해 기존 설정이 변경됩니다
- 회원의 이메일 주소를 공개하도록 설정할 수 없도록 합니다
- 최고 관리자에게는 회원 정보보기에서 이메일 주소를 확인할 수 있습니다
This commit is contained in:
bnu 2017-11-22 17:52:04 +09:00 committed by Kijin Sung
parent d7beeb783c
commit a199333a2e
3 changed files with 17 additions and 5 deletions

View file

@ -492,7 +492,7 @@ class memberAdminController extends member
$signupItem->required = in_array($key, $orgRequireds);
$signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse);
$signupItem->isPublic = ($signupItem->isUse) ? 'Y' : 'N';
if($key == 'password')
if(in_array($key, array('find_account_question', 'password', 'email_address')))
{
$signupItem->isPublic = 'N';
}

View file

@ -177,6 +177,7 @@ class member extends ModuleObject {
{
$oDB = &DB::getInstance();
$oModuleModel = getModel('module');
// check member directory (11/08/2007 added)
if(!is_dir("./files/member_extra_info")) return true;
// check member directory (22/10/2007 added)
@ -216,7 +217,14 @@ class member extends ModuleObject {
if(!$config->signupForm || !is_array($config->signupForm)) return true;
foreach($config->signupForm as $signupItem)
{
if($signupItem->name === 'find_account_question') return true;
if($signupItem->name === 'find_account_question')
{
return true;
}
if($signupItem->name === 'email_address' && $signupItem->isPublic !== 'N')
{
return true;
}
}
if(!$config->agreements)
{
@ -357,7 +365,11 @@ class member extends ModuleObject {
$config->identifier = $config->identifier ?: 'user_id';
$config->signupForm = $oMemberAdminController->createSignupForm($config->identifier);
$output = $oModuleController->updateModuleConfig('member', $config);
break;
}
if($signupItem->name === 'email_address' && $signupItem->isPublic !== 'N')
{
$signupItem->isPublic = 'N';
$output = $oModuleController->updateModuleConfig('member', $config);
}
}
if(!$config->agreements)

View file

@ -101,7 +101,7 @@
</thead>
<tbody class="uDrag">
{@ $disabled_list = array('find_account_question')}
{@ $fixed_public_list = array('nick_name', 'password')}
{@ $fixed_public_list = array('nick_name', 'password', 'email_address')}
<!--@foreach($config->signupForm as $item)-->
<!--@if(in_array($item->name, $disabled_list))-->
<!--@elseif($item->isIdentifier)-->
@ -114,7 +114,7 @@
</th>
<td style="text-align:center"><input type="radio" name="identifier" value="{$item->name}" checked="checked" /></td>
<td style="text-align:center"><input type="checkbox" name="usable_list[]" value="{$item->name}" title="{$lang->use}" checked="checked" disabled="disabled" /></td>
<td style="text-align:center"><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'"/></td>
<td style="text-align:center"><input type="checkbox" name="is_{$item->name}_public" value="Y" checked="checked"|cond="$item->isPublic == 'Y'" disabled="disabled"|cond="in_array($item->name, $fixed_public_list) || !$item->isUse" /></td>
<td class="nowr">
<label for="{$item->name}_re" class="x_inline"><input type="radio" id="{$item->name}_re" name="{$item->name}" value="requierd" checked="checked" disabled="disabled" /> {$lang->cmd_required}</label>
<label for="{$item->name}_op" class="x_inline"><input type="radio" id="{$item->name}_op" name="{$item->name}" value="option" disabled="disabled" /> {$lang->cmd_optional}</label>