묻고답하기
일별 게시글 및 댓글의 추천 횟수를 제한하고 싶습니다.
2015.03.04 03:02
관련 팁을 찾아 헤매던중 아래와 같은 글을 발견하여 딱 필요한 기능이다 싶어 적용시켜 보았습니다...만,
작동을 하지 않습니다. 혹시 왜 그런지 도움 주실 분 계신가요? ㅜㅜ
(이하 관련 글)-------------------------------------------------------------------------------------------------------------------------------------------------
이런 방식으로 처리하실 수 있습니다.
xe/module/document/document.model.php
xe/module/comment/commnet.model.php
각각의 파일을 여신 후에
우선 문서처리 부분 (document.model.php) -
if($document_config->use_vote_up!='N' && $member_srl!=$logged_info->member_srl)
{
// Add a Referral Button
$url = sprintf("doCallModuleAction('document','procDocumentVoteUp','%s')", $document_srl);
$oDocumentController->addDocumentPopupMenu($url,'cmd_vote','','javascript');
}
if($document_config->use_vote_down!='N' && $member_srl!=$logged_info->member_srl)
{
// Add button to negative
$url= sprintf("doCallModuleAction('document','procDocumentVoteDown','%s')", $document_srl);
$oDocumentController->addDocumentPopupMenu($url,'cmd_vote_down','','javascript');
}
위와 같은 줄을 찾으신 후에
각각 위에 코드를 추가해주세요 (초록색 부분이 추가된 부분입니다.)
// 추천수 제한 추가부분 //
$vote_limit = 10; // 하루에 제한할 추천수(추천/비추천통합)
$real_reg_time = date("Ymd");
$votes_res = mysql_query("SELECT * FROM xe_document_voted_log WHERE member_srl = '$logged_info->member_srl' AND regdate LIKE '$real_reg_time%'");
$votes_total = mysql_num_rows($votes_res);
echo $vote_total;
if($votes_total <= $vote_limit){
// 추천수 제한 추가부분 //
if($document_config->use_vote_up!='N' && $member_srl!=$logged_info->member_srl)
{
// Add a Referral Button
$url = sprintf("doCallModuleAction('document','procDocumentVoteUp','%s')", $document_srl);
$oDocumentController->addDocumentPopupMenu($url,'cmd_vote','','javascript');
}
if($document_config->use_vote_down!='N' && $member_srl!=$logged_info->member_srl)
{
// Add button to negative
$url= sprintf("doCallModuleAction('document','procDocumentVoteDown','%s')", $document_srl);
$oDocumentController->addDocumentPopupMenu($url,'cmd_vote_down','','javascript');
}
// 추천수 제한 추가부분 //
}
// 추천수 제한 추가부분 //
다음은 comment 부분입니다. (comment.model.php)
if($comment_config->use_vote_up != 'N' && $member_srl != $logged_info->member_srl)
{
// Add a vote-up button for positive feedback
$url = sprintf("doCallModuleAction('comment','procCommentVoteUp','%s')", $comment_srl);
$oCommentController->addCommentPopupMenu($url, 'cmd_vote', '', 'javascript');
}
if($comment_config->use_vote_down != 'N' && $member_srl != $logged_info->member_srl)
{
// Add a vote-down button for negative feedback
$url = sprintf("doCallModuleAction('comment','procCommentVoteDown','%s')", $comment_srl);
$oCommentController->addCommentPopupMenu($url, 'cmd_vote_down', '', 'javascript');
}
위와 같은 부분을 찾으신 후
아래처럼 코드를 추가해주세요
// 추천수 제한 추가부분 //
$vote_limit = 10; // 하루에 제한할 추천수(추천/비추천통합)
$real_reg_time = date("Ymd");
$votes_res = mysql_query("SELECT * FROM xe_comment_voted_log WHERE member_srl = '$logged_info->member_srl' AND regdate LIKE '$real_reg_time%'");
$votes_total = mysql_num_rows($votes_res);
echo $vote_total;
if($votes_total <= $vote_limit){
// 추천수 제한 추가부분 //
if($comment_config->use_vote_up != 'N' && $member_srl != $logged_info->member_srl)
{
// Add a vote-up button for positive feedback
$url = sprintf("doCallModuleAction('comment','procCommentVoteUp','%s')", $comment_srl);
$oCommentController->addCommentPopupMenu($url, 'cmd_vote', '', 'javascript');
}
if($comment_config->use_vote_down != 'N' && $member_srl != $logged_info->member_srl)
{
// Add a vote-down button for negative feedback
$url = sprintf("doCallModuleAction('comment','procCommentVoteDown','%s')", $comment_srl);
$oCommentController->addCommentPopupMenu($url, 'cmd_vote_down', '', 'javascript');
}
// 추천수 제한 추가부분 //
}
// 추천수 제한 추가부분 //
내용을 간단히 설명하자면
$vote_limit = 10
위의 부분은 하루에 최대 추천/비추천할 수 있는 갯수입니다. 10번까지 가능하다는 것이고.. 10번을 했으면
추천/비추천 버튼이 사라집니다.(별도로 추천버튼을 만들었을 경우 별도처리해줘야함)
현재 접속한 멤버번호와 오늘날짜 기준으로 각각 vote_log 에서 갯수를 구해오고
오늘 등록한 추천및 비추천 횟수가 10번이하이면 추천/비추천버튼이 나오게 하고..
초과했을 경우 안나오게 됩니다.
기본적으로 추천기능은 게시글과 코멘트부분이 따로 나뉘어지는 부분이라
통합적으로는 안되고..(가능은 하지만..) 개별적으로 설정할 수 있습니다.
즉 게시글 추천횟수 제한 따로.. 코멘트 추천횟수 제한 따로...
라고 보시면 됩니다만
(끝)-----------------------------------------------------------------------------------------------------------------------------------------------------