mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 11:44:10 +09:00
Allow member info to be customized by trigger
문서나 댓글을 작성하거나 수정할 때 트리거에서 회원 정보를 조작할 수 있도록 허용함. $obj->manual_member_info = true 로 바꾸어 반환하면 글쓴이의 정보가 현재 로그인한 사용자나 최초 작성시 정보로 덮어씌워지지 않고 트리거에서 지정한 그대로 남음. 기존에도 $manual_inserted 를 사용하면 이런 기능을 구현할 수 있었으나, 이 변수는 트리거에서 조작할 수 없으며 다른 체크도 모두 건너뛰는 등 여러 가지 불편이 있어서 이렇게 일부 정보만 변경하도록 허용하는 새 방법을 제공함. 익명 게시판 등을 좀더 편리하게 개발할 수 있을 것으로 예상됨.
This commit is contained in:
parent
17ca61eed3
commit
509b403eff
2 changed files with 11 additions and 7 deletions
|
|
@ -346,6 +346,7 @@ class commentController extends comment
|
|||
$obj->__isupdate = FALSE;
|
||||
|
||||
// call a trigger (before)
|
||||
unset($obj->manual_member_info);
|
||||
$output = ModuleHandler::triggerCall('comment.insertComment', 'before', $obj);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
|
|
@ -394,9 +395,9 @@ class commentController extends comment
|
|||
}
|
||||
|
||||
// input the member's information if logged-in
|
||||
if(Context::get('is_logged'))
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(Context::get('is_logged') && !$obj->manual_member_info)
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
$obj->member_srl = $logged_info->member_srl;
|
||||
|
||||
// user_id, user_name and nick_name already encoded
|
||||
|
|
@ -708,6 +709,7 @@ class commentController extends comment
|
|||
$obj->__isupdate = TRUE;
|
||||
|
||||
// call a trigger (before)
|
||||
unset($obj->manual_member_info);
|
||||
$output = ModuleHandler::triggerCall('comment.updateComment', 'before', $obj);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
|
|
@ -750,7 +752,7 @@ class commentController extends comment
|
|||
|
||||
// set modifier's information if logged-in and posting author and modifier are matched.
|
||||
$logged_info = Context::get('logged_info');
|
||||
if(Context::get('is_logged'))
|
||||
if(Context::get('is_logged') && !$obj->manual_member_info)
|
||||
{
|
||||
if($source_obj->member_srl == $logged_info->member_srl)
|
||||
{
|
||||
|
|
@ -763,7 +765,7 @@ class commentController extends comment
|
|||
}
|
||||
|
||||
// if nick_name of the logged-in author doesn't exist
|
||||
if($source_obj->get('member_srl') && !$obj->nick_name)
|
||||
if($source_obj->get('member_srl') && !$obj->nick_name && !$obj->manual_member_info)
|
||||
{
|
||||
$obj->member_srl = $source_obj->get('member_srl');
|
||||
$obj->user_name = $source_obj->get('user_name');
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue