안녕하세요.
XE를 이용하여 사이트를 운영하고 있습니다.
똥남기기 모듈을 사용하면서 문의가 있어서 글을 남깁니다.
타인의 게시물에 댓글을 작성하면 포인트를 지급받고, 자신의 게시물에 댓글을 작성하면 포인트를 지급받지 않는데 이때 댓글을 삭제하면 이 경우 모두 포인트를 회수합니다.
자신의 게시물의 댓글 삭제시에는 지급받은 포인트가 없으니 회수를 하지 않아야할텐데 어떻게 해야할까요?
gamezot.controller.php 파일의
function _triggerBeforeDeleteComment(&$obj){ $oGamezotModel = getModel('gamezot'); $logged_info = Context::get('logged_info'); if($isBoardAdmin || $logged_info->is_admin == 'Y'){ return new BaseObject(); } $comment_srl = Context::get('comment_srl'); $oCommentModel = getModel('comment'); $oComment = $oCommentModel->getComment($comment_srl); if (!$oComment->isExists()){ return new Object(); } if(!$oComment->isGranted()){ return new Object(-1, 'msg_not_permitted'); } $comment_content = $oComment->get('content'); if($this->_isDeletedContentByComment($comment_content)){ return new Object(-1, 'msg_already_comment_deleted'); } global $lang; $args = (object)$oComment->variables; $args->content = sprintf('<!--DeletedComment--><span style="color:#888888">%s (삭제일시:%s)</span>', $lang->msg_comment_deleted, date("Y.m.d H:i:s")); $args->uploaded_count = 0; $output = executeQuery('comment.updateComment', $args); if (!$output->toBool()) { return $output; }
부분에서 if(!$oDocument->isExists() || abs($oDocument->get('member_srl'))==abs($member_srl))를 추가하면 될것같았는데 안되서 글을 남겨봅니다.
감사합니다.
$oComment에 댓글 정보가 담기네요
그럼 $oComment->get('member_srl') 정보를 가져와서 실제로 로그인되어있는 정보랑 비교해서 같으면 ㄱeturn 하시면 됩니다.
if($oComment->get('member_srl') == Context::get('logged_info')->member_srl)
{
return;
}