링크 클릭시 포인트 주고 받기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

링크 클릭시 포인트 주고 받기 정보

링크 클릭시 포인트 주고 받기

본문

g3에 지니아빠님께서 올려주신 팁입니다.

http://www.sir.co.kr/bbs/tb.php/g3_tiptech/4923

질문 답변 게시판의 질문에 의해 급조를 해 보았습니다. 링크가 2개 더라도 하나만 포인트가 적용됩니다.

1. view.skin.php 상단에 넣습니다.

$point = $board[bo_8]; //게시판 여분필드 8을 사용하였습니다.필요시 수정하세요.

2. view.skin.php 의 링크 관련 부분입니다.

// 링크

$cnt = 0;

for ($i=1; $i<=$g4[link_count]; $i++)

{

    if ($view[link][$i])

    {

        $cnt++;

        $link = cut_str($view[link][$i], 70);

        echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_btn_path}/img/icon_link.gif' align=absmiddle> <a href='{$view[link_href][$i]}' onclick='javascript:pointdel($point);'  target=_blank><strong>{$link}</strong> ({$view[link_hit][$i]})</a></td></tr>";

    }

}

3 view.skin.php의 하단 스크립트 부분에 넣으세요..

<script type='text/javascript'>
    function pointdel(point){
        window.open('<?=$board_skin_path?>/pointdel.php?bo_table=<?=$bo_table?>&wr_id=<?=$view[wr_id]?>&link_point=<?=$point?>', 'PointDelWin', 'left=10000,top=10000,width=100,height=100');
    }
</script>

4. 아래 내용을 해당 스킨에 pointdel.php로 저장합니다.

<?
$g4_path = "../../..";
include_once("$g4_path/common.php");

// 이미 읽은 링크를 클릭하였는지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$ss_name = "ss_link_{$bo_table}_{$wr_id}";

if (!get_session($ss_name))
{
    // 자신의 글이라면 통과
    // 관리자인 경우 통과
    if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
    else if ($board[bo_link_level] > 1) // 회원이상 링크가 가능하다면
    {
        //  포인트가 음수이고 회원의 포인트가 0 이거나 작다면
        if ($member[mb_point] + $link_point < 0)
            alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 링크(".number_format($link_point).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 링크 해 주십시오.");

        // 게시물 작성자에게 포인트 지급
insert_point($write[mb_id], $link_point, "$board[bo_subject] $write[wr_subject] 방문", $bo_table, $wr_id, "방문");
// 게시물 링크 클릭자에게서 포인트 감소
        insert_point($member[mb_id], (-1) * $link_point, "$board[bo_subject] $write[wr_subject] 방문", $bo_table, $wr_id, "방문 클릭");
    }
   
    set_session($ss_name, TRUE);
}

?>
<script>
window.close();
</script>

게시물 작성자에게는 해당 포인트를 주고 클릭하는 사람에게는 해당 포인트를 감소시키니
적절히 수정해서 사용하세요.

** 게시판 설정화면에서 링크권한은 2 이상으로 하셔야 합니다.
추천
2

댓글 10개

제가 찾아 헤메던 팁이네요....
감사 드립니다. 그리고 링크자료 2번도 같이 적용 시키려면 어떻게 수정을 해야 하는지요?
저 같은 경우 링크 1과 링크 2에 다른곳의 파일을 링크해서 다운받을수 있게 운영 하는중 이거든여....
1. view.skin.php 상단에 넣습니다.

$point = $board[bo_8]; //게시판 여분필드 8을 사용하였습니다.필요시 수정하세요.

2. view.skin.php 의 링크 관련 부분입니다.

// 링크

$cnt = 0;

for ($i=1; $i<=$g4[link_count]; $i++)

{

    if ($view[link][$i])

    {

        $cnt++;

        $link = cut_str($view[link][$i], 70);

        echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_btn_path}/img/icon_link.gif' align=absmiddle>
<a href='{$view[link_href][$i]}' onclick='javascript:pointdel($i);'  target=_blank><strong>{$link}</strong> ({$view[link_hit][$i]})</a></td></tr>";

    }

}

3 view.skin.php의 하단 스크립트 부분에 넣으세요..

<script type='text/javascript'>
    function pointdel(no){
        window.open("<?=$board_skin_path?>/pointdel.php?bo_table=<?=$bo_table?>&wr_id=<?=$view[wr_id]?>&link_point=<?=$point?>&no=" +no, 'PointDelWin', 'left=10000,top=10000,width=100,height=100');
    }
</script>

4. 아래 내용을 해당 스킨에 pointdel.php로 저장합니다.

<?
$g4_path = "../../..";
include_once("$g4_path/common.php");

// 이미 읽은 링크를 클릭하였는지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$ss_name = "ss_link{$no}_{$bo_table}_{$wr_id}";

if (!get_session($ss_name))
{
    // 자신의 글이라면 통과
    // 관리자인 경우 통과
    if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
;
    else if ($board[bo_link_level] > 1) // 회원이상 링크가 가능하다면
    {
        //  포인트가 음수이고 회원의 포인트가 0 이거나 작다면
        if ($member[mb_point] + $link_point < 0)
            alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 링크(".number_format($link_point).")가 불가합니다.\\n\\n포인트를 적립하신 후 다시 링크 해 주십시오.");

        // 게시물 작성자에게 포인트 지급
//insert_point($write[mb_id], $link_point, "$board[bo_subject] $write[wr_subject] 방문", $bo_table, $wr_id, "방문");
// 게시물 링크 클릭자에게서 포인트 감소
        insert_point($member[mb_id], (-1) * $link_point, "$board[bo_subject] $write[wr_subject] 자료다운 $no", $bo_table, $wr_id, "자료 다운로드_{$no}");
    }
   
    set_session($ss_name, TRUE);
}

?>
<script>
window.close();
</script>
전체 3,310 |RSS
그누4 팁자료실 내용 검색

회원로그인

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