추천수 제한 관련

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
추천수 제한 관련

QA

추천수 제한 관련

본문

질문게시판 검색하니

하루에 추천수를 제한하는 질문들이 있었고

적용해보니 작동을 안하더라고요..

저는 하루에 관계없이 그냥

게시판별로 한 아이디당 일정수의 게시글 이하에만 추천을 할수 있도록 제한하고 싶은데

 

다시 정리하면

제한 횟수가 5개라면

기간에 관계없이

A게시판 5개의 게시글에만 추천 

B게시판 5개의 게시글에만 추천

C게시판 5개의 게시글에만 추천

이런식으로요...

 

아 그리고 추천한 사람들 아이디들은 확인할수가 없나요?

확인 가능하다면 어디서 확인 가능한지...

 

이 질문에 댓글 쓰기 :

답변 2

1. 추천수 제한하기(비추천이 아닌 추천의 수만 제한)

해당 스킨의 view.skin.php 수정


<?php
            $sql = " select count(*) as cnt from $g5[board_good_table] where bo_table = '$bo_table' and mb_id = '$member[mb_id]' and bg_flag = 'good' and bg_datetime >= date_format(now(),'%Y-%m-%d')"; 
            $tm1 = sql_fetch($sql); 
            if($tm1[cnt] >= '5'){ 
            $good_href = "\"\" onclick=\"alert('추천은 하루에 5회 만 가능')\";return false;";
            }
?>

 

2. 추천 및 비추천 합하여 제한하기

해당 스킨의 view.skin.php 수정


<?php
            $sql = " select count(*) as cnt from $g5[board_good_table] where bo_table = '$bo_table' and mb_id = '$member[mb_id]' and bg_datetime >= date_format(now(),'%Y-%m-%d')"; 
            $tm1 = sql_fetch($sql); 
            if($tm1[cnt] >= '5'){ 
            $good_href = "\"\" onclick=\"alert('추천과 비추천은 하루에 5회만 가능')\";return false;";
            $nogood_href = "\"\" onclick=\"alert('추천과 비추천은 하루에 5회만 가능')\";return false;";
            }
?>

 

3. 추천인 목록 보기


<?php
$sql = " select * from $g5[board_good_table] where bo_table ='$bo_table' and wr_id='{$view[wr_id]}' and bg_flag = 'good' "; 
$result = sql_query($sql); 
while($row = sql_fetch_array($result)){ 
echo $row[mb_id]."|";  
} 
?>

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css" media="screen">', 0);

// 값정리
$boset['video'] = (isset($boset['video']) && $boset['video']) ? $boset['video'] : '';
$boset['view_skin'] = (isset($boset['view_skin']) && $boset['view_skin']) ? $boset['view_skin'] : 'basic';
$view_skin_url = $board_skin_url.'/view/'.$boset['view_skin'];
$view_skin_path = $board_skin_path.'/view/'.$boset['view_skin'];

// 모달 타켓
$modal_target = (APMS_PIM) ? ' target="_parent"' : '';
$modal_query = (APMS_PIM) ? '&amp;pim=1' : '';

// 아이콘
$view['photo'] = ($view['photo']) ? '<img src="'.$view['photo'].'" alt="'.$view['wr_name'].'">' : '';
if($view['as_icon']) {
$view_icon = apms_fa(apms_emo($view['as_icon']));
$view['photo'] = ($view_icon) ? $view_icon : $view['photo'];
}
?>
<?php if($boset['video'] || $view['photo']) { ?>
<style>
<?php if($view['photo']) { ?>
.view-wrap h1 .talker-photo i { <?php echo (isset($boset['ibg']) && $boset['ibg']) ? 'background:'.apms_color($boset['icolor']).'; color:#fff' : 'color:'.apms_color($boset['icolor']);?>; }
<?php } ?>
<?php if($boset['video']) { ?>
.view-wrap .apms-autowrap { max-width:<?php echo (G5_IS_MOBILE) ? '100%' : $boset['video'];?> !important; }
<?php } ?>
</style>
<?php } ?>
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>

<div class="view-wrap<?php echo (G5_IS_MOBILE) ? ' view-mobile font-14' : '';?><?php echo (APMS_PIM) ? ' view-modal' : '';?>">

<?php
// 내용스킨
if(is_file($view_skin_path.'/view.skin.php')) {
include_once($view_skin_path.'/view.skin.php');
} else {
echo '<div class="well text-center"><i class="fa fa-bell red"></i> 설정하신 내용스킨('.$boset['view_skin'].')이 존재하지 않습니다.</div>';
}
?>

<div class="clearfix"></div>

<div class="view-btn text-right">
<div class="btn-group" role="group">
<?php if ($prev_href) { ?>
<a role="button" href="<?php echo $prev_href.$modal_query; ?>" class="btn btn-<?php echo $btn1;?> btn-sm" title="이전글">
<i class="fa fa-chevron-circle-left"></i><span class="hidden-xs"> 이전</span>
</a>
<?php } ?>
<?php if ($next_href) { ?>
<a role="button" href="<?php echo $next_href.$modal_query; ?>" class="btn btn-<?php echo $btn1;?> btn-sm" title="다음글">
<i class="fa fa-chevron-circle-right"></i><span class="hidden-xs"> 다음</span>
</a>
<?php } ?>
<?php if ($copy_href) { ?>
<a role="button" href="<?php echo $copy_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm" onclick="board_move(this.href); return false;" title="복사">
<i class="fa fa-clipboard"></i><span class="hidden-xs"> 복사</span>
</a>
<?php } ?>
<?php if ($move_href) { ?>
<a role="button" href="<?php echo $move_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm" onclick="board_move(this.href); return false;" title="이동">
<i class="fa fa-share"></i><span class="hidden-xs"> 이동</span>
</a>
<?php } ?>
<?php if ($delete_href) { ?>
<a role="button" href="<?php echo $delete_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm" title="삭제" onclick="<?php echo (APMS_PIM) ? 'modal_' : '';?>del(this.href); return false;">
<i class="fa fa-times"></i><span class="hidden-xs"> 삭제</span>
</a>
<?php } ?>
<?php if ($update_href) { ?>
<a role="button" href="<?php echo $update_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm" title="수정"<?php echo $modal_target;?>>
<i class="fa fa-plus"></i><span class="hidden-xs"> 수정</span>
</a>
<?php } ?>
<?php if (!APMS_PIM) { // 모달에서는 출력안함 ?>
<?php if ($search_href) { ?>
<a role="button" href="<?php echo $search_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm">
<i class="fa fa-search"></i><span class="hidden-xs"> 검색</span>
</a>
<?php } ?>
<a role="button" href="<?php echo $list_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm">
<i class="fa fa-bars"></i><span class="hidden-xs"> 목록</span>
</a>
<?php } ?>
<?php if ($reply_href) { ?>
<a role="button" href="<?php echo $reply_href ?>" class="btn btn-<?php echo $btn1;?> btn-sm"<?php echo $modal_target;?>>
<i class="fa fa-commenting"></i><span class="hidden-xs"> 답변</span>
</a>
<?php } ?>
<?php if ($write_href) { ?>
<a role="button" href="<?php echo $write_href ?>" class="btn btn-<?php echo $btn2;?> btn-sm"<?php echo $modal_target;?>>
<i class="fa fa-pencil"></i><span class="hidden-xs"> 글쓰기</span>
</a>
<?php } ?>
</div>
<div class="clearfix"></div>
</div>
</div>

<script>
<?php if(APMS_PIM) { ?>
function modal_del(href) {
if(confirm("한번 삭제한 자료는 복구할 방법이 없습니다.\n\n정말 삭제하시겠습니까?")) {
var iev = -1;
if (navigator.appName == 'Microsoft Internet Explorer') {
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
iev = parseFloat(RegExp.$1);
}

// IE6 이하에서 한글깨짐 방지
if (iev != -1 && iev < 7) {
parent.document.location.href = encodeURI(href);
} else {
parent.document.location.href = href;
}
}
}
<?php } ?>
function board_move(href){
window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
}
$(function() {
$(".view-content a").each(function () {
$(this).attr("target", "_blank");
    });

$("a.view_image").click(function() {
window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
return false;
});
<?php if ($board['bo_download_point'] < 0) { ?>
$("a.view_file_download").click(function() {
if(!g5_is_member) {
alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
return false;
}

var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";

if(confirm(msg)) {
var href = $(this).attr("href")+"&js=on";
$(this).attr("href", href);

return true;
} else {
return false;
}
});
<?php } ?>
});
</script>
<?php echo apms_addon('cmt-img-upload');?>

제가 아미나빌더를 사용하고 있고 아미나 보드를 사용하고 있는데요.
보드스킨/view.skin.php 파일 상단에다가 말씀 하신 코드를 넣어 봤는데
꿈쩍도 않하네요.ㅠㅠ

위에 제 view.php 파일 코드를 올려 드리오니 어디 부분에 넣어야 하는지
좀 말씀 좀 부탁드릴게요.~ㅠㅠ(코드가 길어서 두개로 나눠서 올렸습니다.)

포인트 어뷰징 때문에  작업을 해야 하는데 아무리 해도 안되서 도움 요청 드립니다.
감사합니다.

게시글 추천한 사람들 목록은 따로 DB를 열어서 확인하셔야합니다.

추천 목록을 확인할 수 있는 페이지는 따로 없습니다.

 

제한 횟수가 5개라면 기간에 관계없이

=> 한 아이디로 1년이고 5년이고 총 5개의 추천만 할 수 있다라는 의미인가요?

 

그렇다면 해당 게시판에서 해당 접속자의 추천한 회수를 db에서 불러와서

해당 개수가 5개 보다 적다면 추천버튼이 보이고

그렇지 않다면 추천버튼이 사라지도록 커스텀을 하시면 될듯합니다.

총 5개는 아니고요 게시판별 5개요! 10개 게시판이 있다면 50개가 되겠죠~~
커스텀을 할수 있는 능력자라면 질문을 하지 않았겠죠 ㅜㅜㅜㅜㅜ

https://sir.kr/qa/222328

여기 글을 참고하여 적용해보았는데 그대로 붙여도 작동이 안되서 질문드렸던 거예요 ㅜ

답변을 작성하시기 전에 로그인 해주세요.
전체 5
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT