추천수 제한 관련

추천수 제한 관련

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

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

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

회원로그인

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