Add option to (dis)allow nickname change

This commit is contained in:
Kijin Sung 2023-06-27 22:14:30 +09:00
parent 77ac355259
commit 62dfb38308
6 changed files with 32 additions and 3 deletions

View file

@ -146,6 +146,7 @@ $lang->cmd_trace_comment = 'Trace Written Comments';
$lang->cmd_view_scrapped_document = 'Scraps';
$lang->cmd_view_saved_document = 'Saved Articles';
$lang->cmd_send_email = 'Send Mail';
$lang->cmd_modify_nickname_allow = 'Allow Nickname Change';
$lang->cmd_modify_nickname_log = 'Nickname Change Log';
$lang->cmd_nickname_symbols = 'Allow Symbols in Nickname';
$lang->cmd_nickname_symbols_list = 'Only Allow:';
@ -269,6 +270,7 @@ $lang->about_find_member_account = 'Please input the email address you have ente
$lang->about_ssl_port = 'Please enter if you are using non-default SSL port';
$lang->about_resend_auth_mail = 'You can request the activation email again if you have not received it.';
$lang->about_reset_auth_mail_submit = 'If you use the address as an identifier, a new email address would be required for the login.';
$lang->about_allow_nickname_change = 'Allow members to change their nicknames. This requires a skin that displays the nickname change input.';
$lang->about_update_nickname_log = 'Record the nickname change history. If you use this option, you can see the nickname changing history.';
$lang->about_nickname_symbols = 'Allow or prohibit the use of special characters in nicknames.';
$lang->about_member_profile_view = 'Option to view the member\'s profile image on the admin member list page. Select No if you do not want to see your profile picture in the member panel.';

View file

@ -148,6 +148,7 @@ $lang->cmd_trace_comment = '작성 댓글 추적';
$lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = '메일 보내기';
$lang->cmd_modify_nickname_allow = '닉네임 변경 허용';
$lang->cmd_modify_nickname_log = '닉네임 변경 기록';
$lang->cmd_nickname_symbols = '닉네임에 특수문자 허용';
$lang->cmd_nickname_symbols_list = '다음의 문자만 허용:';
@ -273,7 +274,8 @@ $lang->about_ssl_port = '기본 포트 이외의 보안접속(SSL) 포트를 사
$lang->about_reset_auth_mail = '현재등록된 이메일 주소는 %s입니다. 이메일 주소를 변경하고자 하는 경우 새로운 이메일 주소로 회원정보 갱신 후 인증메일을 재발송할 수 있습니다.';
$lang->about_resend_auth_mail = '가입 인증 메일을 받지 못한 경우 다시 받을 수 있습니다.';
$lang->about_reset_auth_mail_submit = '이메일을 로그인 계정으로 사용할 경우 신규 메일주소로 로그인해야 합니다.';
$lang->about_update_nickname_log = '닉네임 변경 기록을 저장합니다. 이 옵션을 사용하게 되면, 닉네임 변경 이력을 확인할 수 있습니다.';
$lang->about_allow_nickname_change = '닉네임 변경을 허용합니다. 사용하는 스킨에 따라 입력란이 표시되지 않을 수도 있습니다.';
$lang->about_update_nickname_log = '닉네임 변경 이력을 저장합니다.';
$lang->about_nickname_symbols = '닉네임에 특수문자를 사용할 수 있도록 허용하거나 금지합니다.';
$lang->about_member_profile_view = '관리자 회원목록 페이지에서 프로필 이미지를 볼 수 있는 옵션입니다. 회원목록에서 프로필 사진을 보기 원치 않을 경우에는 아니요를 선택하세요.';
$lang->no_article = '글이 없습니다.';

View file

@ -241,6 +241,7 @@ class MemberAdminController extends Member
'password_hashing_work_factor',
'password_hashing_auto_upgrade',
'password_change_invalidate_other_sessions',
'allow_nickname_change',
'update_nickname_log',
'nickname_symbols',
'nickname_symbols_allowed_list',

View file

@ -663,11 +663,21 @@ class MemberAdminView extends Member
}
else
{
if($formInfo->name === 'nick_name' && ($member_config->allow_nickname_change ?? 'Y') === 'N')
{
$readonly = 'readonly="readonly" ';
}
else
{
$readonly = '';
}
$formTag->type = 'text';
$inputTag = sprintf('<input type="text" name="%s" id="%s" value="%s" />',
$inputTag = sprintf('<input type="text" name="%s" id="%s" value="%s" %s/>',
$formInfo->name,
$formInfo->name,
$memberInfo[$formInfo->name]);
$memberInfo[$formInfo->name],
$readonly);
}
}//end isDefaultForm
else

View file

@ -1056,6 +1056,12 @@ class MemberController extends Member
}
}
// Check if nickname change is allowed
if(isset($config->allow_nickname_change) && $config->allow_nickname_change === 'N')
{
$args->nick_name = $logged_info->nick_name;
}
// Check symbols in nickname
if($config->nickname_symbols === 'N')
{

View file

@ -59,6 +59,14 @@
<p class="x_help-block">{$lang->about_member_profile_view}</p>
</div>
</div>
<div class="x_control-group">
<div class="x_control-label">{$lang->cmd_modify_nickname_allow}</div>
<div class="x_controls">
<label class="x_inline" for="allow_nickname_change_yes"><input type="radio" name="allow_nickname_change" id="allow_nickname_change_yes" value="Y" checked="checked"|cond="$config->allow_nickname_change != 'N'" /> {$lang->cmd_yes}</label>
<label class="x_inline" for="allow_nickname_change_no"><input type="radio" name="allow_nickname_change" id="allow_nickname_change_no" value="N" checked="checked"|cond="$config->allow_nickname_change == 'N'"/> {$lang->cmd_no}</label>
<p class="x_help-block">{$lang->about_allow_nickname_change}</p>
</div>
</div>
<div class="x_control-group">
<div class="x_control-label">{$lang->cmd_modify_nickname_log}</div>
<div class="x_controls">