댓글 랜덤 포인트
170427
착한인연님의 코멘트 달아주신 부분을 반영하였습니다.
- 자신의 게시물에 댓글달 경우 포인트 추가 제외
- 최저, 최고 포인트시 추가 문구
------------------------------------------
170427
착한인연님의 코멘트를 보고 해당 부분 수정했습니다.
댓글 수정시 랜덤포인트가 또 주어지는 것을 막기 위해서
코멘트의 고유번호(comment_srl)가 있으면 동작하지 않도록 변경되었습니다.
감사합니다. (__);
------------------------------------------
애드온 버전 수정했습니다.
------------------------------------------
포인트 팡팡 애드온이 있다는걸 잊고 있었네요.
그거 쓰세요!
소스코드 보니 훨씬 좋아요! 하하하하
괜한 삽질을 했지만 그래도 기념으로 남겨놓을래요 ㅎㅎ
-----------------------------------------------------
애드온 설정화면입니다.
저런 변수를 넣어서 동작하게 할 수 있습니다.
rand함수를 사용한 확률이기 때문에 지정한 확률로 동작한다는 것이지 지정한 갯수마다 동작하는 것은 아닙니다.
실제로 동작하는 화면입니다.
테스트를 위해 위부터 1, 100, 100을 넣고 했습니다.
100%동작하고 100점을 주죠.
로그인한 경우에만 동작합니다.
관리자도 예외없이 동작합니다.
관리자를 제외하려면... 음... 귀찮은데... 그냥 만족하시죠....-0-;;;
관리자도 포인트 필요하잖아요.
포인트모듈에 기록이 남지는 않습니다.
그리고 제가 테스트한 사이트의 문제인지는 모르지만 원래 올라야할 댓글 포인트가 안오르더군요.
사실 이용자가 저밖에 없어서 댓글 달린적이 없어서 지금까지 모르고 있었습니다.
애드온을 꺼도 안오르는 것을 보니 어딘가 설정에 문제가 있나봅니다.
추가되는 문구는 댓글 자체에 포함됩니다.
그래서 댓글을 수정해서 지울 수 있습니다.
문구 변경이나 글자색을 강조, 이미지로 변경하기 위해서는
comment_rr_point.addon.php 33줄
Context::set('content', $content_ori."<br><br>- 축하드립니다. 댓글 보너스 ".$rand_point."점을 받으셨습니다.");
을 수정하시면 됩니다.
혹시 모를 오류가 있다면 댓글 달아주세요.
댓글 36
감사합니다~^^
제가 찾던 애드온이에요.
잘 쓰겠습니다.
댓글을 수정하면 포인트가 한 번 더 지급됩니다.... ㅠ.ㅠ
xe의 구조에 대해서 잘 모르고 대충 통밥으로 만든거라서요..ㅠㅠ
질답 게시판에 일단 질문 올려놨고요.
혹시나 해서 다른 분들 답변 기다리고 있습니다.
감사합니다~
if($member_srl && $called_position == 'before_module_proc' && Context::get('act') == 'procBoardInsertComment' && !Context::get('comment_srl')) {
감사합니다..^^
감사합니다~
이 에드온은 "포인트 팡팡!"과는 기능적으로 다른 매력이 있습니다.
개발자님께서는 좀 더 에드온을 보완해주시면 좋을 것 같습니다.
감사합니다.
P.S.: 추가적으로 자신의 댓글에 자신이 댓글을 달면 포인트가 지급되는 문제점이 있네요. ㅋㅋ
추가로 발견되는 문제점이 있으면 수정 가능 여부와 상관없이 댓글 달도록 하겠습니다.
아... 그리고 최저 포인트, 최고 포인트 당첨시에는 작성되는 멘트가 달랐으면 좋겠습니다. ^^;
제가 xe로 커뮤니티를 운영하지 않아서 포인트에는 관심이 별로 없어서 잘 몰랐거든요.
최고, 최저포인트시 멘트를 다르게 하는 것은 시간되면 반영해보겠습니다.
if($member_srl && $called_position == 'before_module_proc' && Context::get('act') == 'procBoardInsertComment' && !Context::get('comment_srl')) {
$oDocumentModel = &getModel('document');
$oDocument = $oDocumentModel->getDocument(Context::get('document_srl'));
if ($oDocument->get('member_srl') == $member_srl ) return;
최저포인트, 최고포인트 작성멘트 다르게 하기 제일 하단부분에 적용
if ($rand_point==$min_point) $comment_plus ="아쉽네요! 최저 ";
if ($rand_point==$max_point) $comment_plus ="와우! 최고 ";
$content_ori = Context::get('content');
Context::set('content', $content_ori."- 축하드립니다. ".$comment_plus."댓글 보너스 ".$rand_point."점을 받으셨습니다.");
역시 고수시군요... ^^=b
추가 질문 드려도 괜찮을까요?
위 코드가 자기가 작성한 글에 대한 자신의 댓글/대댓글 모두에 포인트 지급이 안되는 건가요?
- 자신이 글쓰고 자신이 댓글달거나 자신의 글에 다른 사람이 댓글 단 것에 계속 대댓글을 달아서 포인트 획득을 하는 사람들을 막아야할 것 같아서요.
하단의 포인트등에 관련 코드는 무시됩니다.
그럼 오늘 하루도 즐거운 하루되세요~~~!!!
감사합니다!!
다운로드 5초후에 시행 된다고 나오더니 다운로드가 안됩니다.....ㅠㅠ
포인트를 어떻게 하면 얻을 수 있나요?
if문의
procBoardInsertComment
comment_srl
를 게시글용으로 바꾸고
원 댓글에 문구 추가하는 부분은....
코멘트를 추가하는 방향으로 하면 좋을것 같지만 게시물이 작성되기 전이라 미묘하네요.
제 능력 밖입니다.
본문에 내용을 추가한다면 게시물의 본문 변수명 같은 것도 확인해야겠네요.