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->required = in_array($key, $orgRequireds);
$signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse); $signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse);
$signupItem->isPublic = ($signupItem->isUse) ? 'Y' : 'N'; $signupItem->isPublic = ($signupItem->isUse) ? 'Y' : 'N';
if($key == 'password') if(in_array($key, array('find_account_question', 'password', 'email_address')))
{ {
$signupItem->isPublic = 'N'; $signupItem->isPublic = 'N';
} }

View file

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

View file

@ -101,7 +101,7 @@
</thead> </thead>
<tbody class="uDrag"> <tbody class="uDrag">
{@ $disabled_list = array('find_account_question')} {@ $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)--> <!--@foreach($config->signupForm as $item)-->
<!--@if(in_array($item->name, $disabled_list))--> <!--@if(in_array($item->name, $disabled_list))-->
<!--@elseif($item->isIdentifier)--> <!--@elseif($item->isIdentifier)-->
@ -114,7 +114,7 @@
</th> </th>
<td style="text-align:center"><input type="radio" name="identifier" value="{$item->name}" checked="checked" /></td> <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="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"> <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}_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> <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>