포럼
댓글 추천기능에 버그 수정한거 알려드립니다.
2011.01.27 02:22
현재 설치 버전 : 1.4.4.4 이구요...
[ 문제점 ]
1. 본문 말고 댓글을 추천/비추천할때 비추천 실패 메세지가 항상 추천 실패메시지로 나옴
[ 문제 재현 경로 ]
1. 댓글을 추천 혹은 비추천을 한다.
2. 해당 댓글을 다시 추천할 경우 '추천 하실 수 없습니다. ' 라고 나온다.
3. 해당 댓글을 다시 비추천할 경우 동일하게 '추천 하실 수 없습니다. ' 라고 나온다.
정상적으로는 비추천을 누를 경우 '비추천 하실 수 없습니다.' 라고 나와야 한다.
- 아래처럼 수정이후 정상적으로 추천/비추천 메세지가 나옵니다. 검토해보시고 다음 릴리즈시 반영해 주시기 바랍니다.
[ 파일 수정 위치 ]
modules/comment/comment.controller.php 의 updateVotedCount() 함수
function updateVotedCount($comment_srl, $point = 1) {
if($point > 0) $failed_voted = 'failed_voted';
else $failed_voted = 'failed_blamed';
// 세션 정보에 추천 정보가 있으면 중단
//if($_SESSION['voted_comment'][$comment_srl]) return new Object(-1, 'failed_voted'); // 원본
if($_SESSION['voted_comment'][$comment_srl]) return new Object(-1, $failed_voted); // 버그 수정
// 문서 원본을 가져옴
$oCommentModel = &getModel('comment');
$oComment = $oCommentModel->getComment($comment_srl, false, false);
// 글의 작성 ip와 현재 접속자의 ip가 동일하면 패스
if($oComment->get('ipaddress') == $_SERVER['REMOTE_ADDR']) {
$_SESSION['voted_comment'][$comment_srl] = true;
//return new Object(-1, 'failed_voted'); // 원본
return new Object(-1, $failed_voted); // 버그 수정
}
// comment의 작성자가 회원일때 조사
if($oComment->get('member_srl')) {
// member model 객체 생성
$oMemberModel = &getModel('member'+
');
$member_srl = $oMemberModel->getLoggedMemberSrl();
// 글쓴이와 현재 로그인 사용자의 정보가 일치하면 읽었다고 생각하고 세션 등록후 패스
if($member_srl && $member_srl == $oComment->get('member_srl')) {
$_SESSION['voted_comment'][$comment_srl] = true;
//return new Object(-1, 'failed_voted'); // 원본
return new Object(-1, $failed_voted); // 버그 수정
}
}
// 로그인 사용자이면 member_srl, 비회원이면 ipaddress로 판단
if($member_srl) {
$args->member_srl = $member_srl;
} else {
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
}
$args->comment_srl = $comment_srl;
$output = executeQuery('comment.getCommentVotedLogInfo', $args);
// 로그 정보에 추천 로그가 있으면 세션 등록후 패스
if($output->data->count) {
$_SESSION['voted_comment'][$comment_srl] = true;
//return new Object(-1, 'failed_voted'); // 원본
return new Object(-1, $failed_voted); // 버그 수정
}
// 추천수 업데이트
if($point < 0)
{
$args->blamed_count = $oComment->get('blamed_count') + $point;
$output = executeQuery('comment.updateBlamedCount', $args);
}
else
{
$args->voted_count = $oComment->get('voted_count') + $point;
$output = executeQuery('comment.updateVotedCount', $args);
}
// 로그 남기기
$args->point = $point;
$output = executeQuery('comment.insertCommentVotedLog', $args);
// 세션 정보에 남김
$_SESSION['voted_comment'][$comment_srl] = true;
// 결과 리턴
if($point > 0)
return new Object(0, 'success_voted');
else
return new Object(0, 'success_blamed');
}
댓글 0
글쓴이 | 제목 | 최종 글 |
---|---|---|
백성찬 | 메뉴 복사 기능과 메뉴 항목 선택 기능을 넣읍시다. [9] | 2011.01.30 by 착한악마 |
criuce | 이슈는 이슈게시판에. [4] | 2011.01.28 by 라르게덴 |
둠포지 | 댓글 추천기능에 버그 수정한거 알려드립니다. | |
gingermary.myid.net | 페이지 첨부 기능이 오작동합니다. [1] | 2011.01.26 by fsfsdas |
misol | API 단순하고 요청 수 제한 없는 주소 줄이기 사이트 하나 알려주시겠어요?.. [2] | 2011.01.25 by misol |
SMaker | r8050 적용 후 Content 위젯에 css가 적용되지 않은채로 나타나네요. | |
fsfsdas | r8046 XE 설치에러 [2] | 2011.01.25 by fsfsdas |
SMaker | 쿼리 실행 실패 시 정확한 오류를 알려주었으면 좋겠네요. | |
fsfsdas | 레이아웃의 info.xml을 전면 재작성 도중 궁금증 [5] | 2011.01.24 by Hammer |
백성찬 | r8032 관련 [5] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
zero | 개발 참여에 대해서.. [4] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
백성찬 | r8032 부터 수정 된 db 관련 궁금증 [2] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
시니시즘 | 한가지 건의드리고 싶습니다 | |
포토올/wow | XE에 몇가지 기능 개선 건의드립니다. [1] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
SMaker | 정말 에디터 스킨 설정 관련해서 뜯어고치고 싶네요 | |
ForHanbi | 템플릿 문법 이상합니다. 문제점 좀 봐주세요. [1] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
백성찬 | 줄바꿈 문제 [7] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
pjb7687 | Admin Page에서 항목을 Submit했을 때 언어가 바뀌는 문제.. [1] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
라르게덴 | XE 대문에 xe팁 대신 개발자포럼을 다는건 어떤가요? [1] | 2011.01.23 by ㅇㅎㅇㅀㅇㅀ |
sejin7940 | XE에 바라는 카테고리(분류) 기능의 추가 사항입니다 ^^; |