닉네임변경이력을 기록하도록 함

This commit is contained in:
qw5414 2016-02-01 20:48:59 +09:00
parent 66994d35dc
commit 0db2dcc68e
11 changed files with 140 additions and 2 deletions

View file

@ -21,6 +21,7 @@
<action name="dispMemberResendAuthMail" type="view" standalone="true" />
<action name="dispSavedDocumentList" type="view" standalone="true" />
<action name="dispMemberSpammer" type="view" standalone="true" />
<action name="dispMemberModifyNicknameLog" type="view" standalone="true" />
<action name="dispMemberAdminList" type="view" index="true" admin_index="true" menu_name="userList" menu_index="true"/>
<!--action name="dispMemberAdminConfig" type="view" menu_name="userSetting" menu_index="true" /-->

View file

@ -114,6 +114,7 @@ $lang->cmd_trace_comment = '작성 댓글 추적';
$lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = '메일 보내기';
$lang->cmd_modify_nickname_log = '닉네임 변경 기록';
$lang->msg_email_not_exists = '이메일 주소가 존재하지 않습니다.';
$lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다.';
$lang->msg_cart_is_null = '대상을 선택해주세요.';
@ -216,6 +217,7 @@ $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->no_article = '글이 없습니다.';
$lang->find_account_question = '비밀번호 찾기 질문/답변';
$lang->find_account_answer = '비밀번호 찾기 답변';
@ -309,3 +311,5 @@ $lang->spammer_description = '<p>지정된 회원을 차단하고, 회원이 남
$lang->btn_spammer_delete_all = '모두 삭제';
$lang->spammer_move_to_trash = '휴지통으로 이동';
$lang->msg_spammer_complete = '완료되었습니다.';
$lang->nick_name_before_changing = '닉네임 변경 전';
$lang->nick_name_after_changing = '닉네임 변경 후';

View file

@ -162,7 +162,8 @@ class memberAdminController extends member
'password_strength',
'password_hashing_algorithm',
'password_hashing_work_factor',
'password_hashing_auto_upgrade'
'password_hashing_auto_upgrade',
'update_nickname_log'
);
$oPassword = new Password();

View file

@ -1885,6 +1885,7 @@ class memberController extends member
$this->addMemberMenu( 'dispMemberScrappedDocument', 'cmd_view_scrapped_document');
$this->addMemberMenu( 'dispMemberSavedDocument', 'cmd_view_saved_document');
$this->addMemberMenu( 'dispMemberOwnDocument', 'cmd_view_own_document');
$this->addMemberMenu( 'dispMemberModifyNicknameLog', 'cmd_modify_nickname_log');
}
/**
@ -2273,6 +2274,19 @@ class memberController extends member
$oDB->rollback();
return $output;
}
else
{
if($args->nick_name != $orgMemberInfo->nick_name && $config->update_nick_log == 'Y')
{
$log_args = new stdClass();
$log_args->member_srl = $args->member_srl;
$log_args->before_nick_name = $orgMemberInfo->nick_name;
$log_args->after_nick_name = $args->nick_name;
$log_args->user_id = $args->user_id;
$log_output = executeQuery('member.insertMemberModifyNickName', $log_args);
debugPrint($config);
}
}
if($args->group_srl_list)
{
@ -2397,6 +2411,7 @@ class memberController extends member
$oDB->rollback();
return $output;
}
executeQuery('member.deleteMemberModifyNickNameLog', $args);
// TODO: If the table is not an upgrade may fail.
/*

View file

@ -688,7 +688,34 @@ class memberView extends member
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('spammer');
}
/**
* Member Nickname Log
* @return void
*/
function dispMemberModifyNicknameLog()
{
$member_srl = Context::get('member_srl');
if(!$member_srl)
{
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
}
$args = new stdClass();
$args->member_srl = $member_srl;
$args->page = Context::get('page');
$output = executeQuery('member.getMemberModifyNickName', $args);
Context::set('total_count', $output->page_navigation->total_count);
Context::set('total_page', $output->page_navigation->total_page);
Context::set('page', $output->page);
Context::set('nickname_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('member_nick');
}
}
/* End of file member.view.php */
/* Location: ./modules/member/member.view.php */

View file

@ -0,0 +1,8 @@
<query id="deleteMemberModifyNickNameLog" action="delete">
<tables>
<table name="member_nickname_log" />
</tables>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" filter="number" />
</conditions>
</query>

View file

@ -0,0 +1,17 @@
<query id="getMemberModifyNickName" action="select">
<tables>
<table name="member_nickname_log" />
</tables>
<columns>
<column name="*"/>
</columns>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" />
</conditions>
<navigation>
<index var="sort_index" default="regdate" order="desc" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" defailt="1" />
</navigation>
</query>

View file

@ -0,0 +1,12 @@
<query id="insertMemberModifyNickName" action="insert">
<tables>
<table name="member_nickname_log" />
</tables>
<columns>
<column name="member_srl" var="member_srl" filter="number" notnull="notnull" />
<column name="before_nick_name" var="before_nick_name" notnull="notnull" />
<column name="after_nick_name" var="after_nick_name" notnull="notnull" />
<column name="user_id" var="user_id" notnull="notnull" />
<column name="regdate" var="regdate" default="curdate()" />
</columns>
</query>

View file

@ -0,0 +1,7 @@
<table name="member_nickname_log">
<column name="member_srl" type="number" size="11" notnull="notnull" />
<column name="before_nick_name" type="varchar" size="80" notnull="notnull" />
<column name="after_nick_name" type="varchar" size="80" notnull="notnull" />
<column name="regdate" type="date" index="idx_regdate" />
<column name="user_id" type="varchar" size="80" />
</table>

View file

@ -0,0 +1,38 @@
<include target="./common_header.html" />
<h1>{$member_title = $lang->cmd_modify_nickname_log}</h1>
<table class="table table-striped table-hover">
<thead>
<tr>
<th>{$lang->date}</th>
<th>{$lang->nick_name_before_changing}</th>
<th class="title">{$lang->nick_name_after_changing}</th>
</tr>
</thead>
<tbody>
<tr loop="$nickname_list => $val">
{@
debugPrint($val);
}
<td>
{zdate($val->regdate,"Y-m-d H:i:s")}
</td>
<td>
{$val->before_nick_name}
</td>
<td>
{$val->after_nick_name}
</td>
</tr>
</tbody>
</table>
<div class="pagination pagination-centered">
<ul>
<li><a href="{getUrl('page','','module_srl','')}" class="direction">&laquo; {$lang->first_page}</a></li>
<!--@while($page_no = $page_navigation->getNextPage())-->
<li class="active"|cond="$page == $page_no"><a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a></li>
<!--@end-->
<li><a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="direction">{$lang->last_page} &raquo;</a></li>
</ul>
</div>
<include target="./common_footer.html" />

View file

@ -20,6 +20,14 @@
<p class="x_help-block">{$lang->about_enable_confirm}</p>
</div>
</div>
<div class="x_control-group">
<div class="x_control-label">{$lang->cmd_modify_nickname_log}</div>
<div class="x_controls">
<label class="x_inline" for="update_nickname_log_yes"><input type="radio" name="update_nickname_log" id="update_nickname_log_yes" value="Y" checked="checked"|cond="$config->update_nickname_log == 'Y'" /> {$lang->cmd_yes}</label>
<label class="x_inline" for="update_nickname_log_no"><input type="radio" name="update_nickname_log" id="update_nickname_log_no" value="N" checked="checked"|cond="$config->update_nickname_log != 'Y'"/> {$lang->cmd_no}</label>
<p class="x_help-block">{$lang->about_update_nickname_log}</p>
</div>
</div>
<div class="x_control-group">
<div class="x_control-label">{$lang->enable_find_account_question}</div>
<div class="x_controls">