그누보드 비회원상태 추천/비추천 허용하기 > 그누보드팁 / 다운로드 / 스킨

본문 바로가기

사이트 내 전체검색

  • PC

  • 그누보드팁 / 다운로드 / 스킨

    팁 | 그누보드 비회원상태 추천/비추천 허용하기

    페이지 정보

    작성자 프리이미지 작성일17-02-09 04:58 조회1,386회 댓글0건

    첨부파일

    본문

    추천 비추천은 회원 로그인된 상태에서만 가능함..

    ip를 추가해서 비회원일때는 ip로 체크하게 함

     

    1. view.skin.php 의 상단에 추가

     

    // 비회원상태에서도 추천되게 한다.

    if (!$is_member) {

        // 추천 링크

        if ($board['bo_use_good'])

            $good_href = './good.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&good=good';

     

        // 비추천 링크

        if ($board['bo_use_nogood'])

            $nogood_href = './good.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&good=nogood';

    }

     

     

    2. 스킨폴더에 good.head.skin.php 파일 생성 해서 아래 내용넣기

     

    <?php

     

    //비회원상태에서도 가능하게 한다.

    // 자바스크립트 사용가능할 때

    if($_POST['js'] == "on") {

        $error = $count = "";

     

        function print_result($error, $count)

        {

            echo '{ "error": "' . $error . '", "count": "' . $count . '" }';

            if($error)

                exit;

        }

     

        if (!($bo_table && $wr_id)) {

            $error = '값이 제대로 넘어오지 않았습니다.';

            print_result($error, $count);

        }

     

        $ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;

        if (!get_session($ss_name)) {

            $error = '해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.';

            print_result($error, $count);

        }

     

     

     

        $row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE);

        if (!$row['cnt']) {

            $error = '존재하는 게시판이 아닙니다.';

            print_result($error, $count);

        }

     

        if ($good == 'good' || $good == 'nogood')

        {

            if($write['mb_id'] == $member['mb_id']) {

                $error = '자신의 글에는 추천 또는 비추천 하실 수 없습니다.';

                print_result($error, $count);

            }

    if (!$is_member && $write['wr_ip']==$_SERVER['REMOTE_ADDR']) {

                $error = '동일한 IP 에서는 추천 또는 비추천 하실 수 없습니다.';

                print_result($error, $count);

    }

            if (!$board['bo_use_good'] && $good == 'good') {

                $error = '이 게시판은 추천 기능을 사용하지 않습니다.';

                print_result($error, $count);

            }

     

            if (!$board['bo_use_nogood'] && $good == 'nogood') {

                $error = '이 게시판은 비추천 기능을 사용하지 않습니다.';

                print_result($error, $count);

            }

     

    if ($is_member) {

    $sql = " select bg_flag from {$g5['board_good_table']}

    where bo_table = '{$bo_table}'

    and wr_id = '{$wr_id}'

    and mb_id = '{$member['mb_id']}'

    and bg_flag in ('good', 'nogood') ";

           $row = sql_fetch($sql,false);

    }

    else {

    $sql = " select bg_flag from {$g5['board_good_table']}

    where bo_table = '{$bo_table}'

    and wr_id = '{$wr_id}'

    and wr_ip = '{$_SERVER['REMOTE_ADDR']}'

    and bg_flag in ('good', 'nogood') ";

           $row = sql_fetch($sql,false);

    }

            if ($row['bg_flag'])

            {

                if ($row['bg_flag'] == 'good')

                    $status = '추천';

                else

                    $status = '비추천';

     

                $error = "이미 $status 하신 글 입니다.";

                print_result($error, $count);

            }

            else

            {

                // 추천(찬성), 비추천(반대) 카운트 증가

                sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");

                // 내역 생성

                $sql=" insert {$g5['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G5_TIME_YMDHIS."',

    wr_ip = '{$_SERVER['REMOTE_ADDR']}'";

                sql_query($sql,false);

    if (sql_error_info()) {

    if (strstr(sql_error_info(),'Unknown column')) {

       sql_query(" ALTER TABLE `{$g5['board_good_table']}` DROP INDEX fkey1;", false);

       sql_query(" ALTER TABLE `{$g5['board_good_table']}` ADD `wr_ip` varchar(255) NOT NULL", false);

       sql_query(" ALTER TABLE `{$g5['board_good_table']}` ADD INDEX(`bo_table`, `wr_id`, `mb_id`, `wr_ip`)", false);

    }

               sql_query($sql,false);

    }

     

                $sql = " select wr_{$good} as count from {$g5['write_prefix']}{$bo_table} where wr_id = '$wr_id' ";

                $row = sql_fetch($sql);

     

                $count = $row['count'];

     

                print_result($error, $count);

            }

        }

    } else {

        include_once(G5_PATH.'/head.sub.php');

     

     

        if (!($bo_table && $wr_id))

            alert('값이 제대로 넘어오지 않았습니다.');

     

        $ss_name = 'ss_view_'.$bo_table.'_'.$wr_id;

        if (!get_session($ss_name))

            alert('해당 게시물에서만 추천 또는 비추천 하실 수 있습니다.');

     

        $row = sql_fetch(" select count(*) as cnt from {$g5['write_prefix']}{$bo_table} ", FALSE);

        if (!$row['cnt'])

            alert('존재하는 게시판이 아닙니다.');

     

        if ($good == 'good' || $good == 'nogood')

        {

            if($write['mb_id'] == $member['mb_id'])

                alert('자신의 글에는 추천 또는 비추천 하실 수 없습니다.');

     

            if (!$board['bo_use_good'] && $good == 'good')

                alert('이 게시판은 추천 기능을 사용하지 않습니다.');

     

            if (!$board['bo_use_nogood'] && $good == 'nogood')

                alert('이 게시판은 비추천 기능을 사용하지 않습니다.');

     

    if ($is_member) {

    $sql = " select bg_flag from {$g5['board_good_table']}

    where bo_table = '{$bo_table}'

    and wr_id = '{$wr_id}'

    and mb_id = '{$member['mb_id']}'

    and bg_flag in ('good', 'nogood') ";

           $row = sql_fetch($sql,false);

    }

    else {

    $sql = " select bg_flag from {$g5['board_good_table']}

    where bo_table = '{$bo_table}'

    and wr_id = '{$wr_id}'

    and wr_ip = '{$_SERVER['REMOTE_ADDR']}'

    and bg_flag in ('good', 'nogood') ";

           $row = sql_fetch($sql,false);

    }

     

    if ($row['bg_flag'])

            {

                if ($row['bg_flag'] == 'good')

                    $status = '추천';

                else

                    $status = '비추천';

     

                alert("이미 $status 하신 글 입니다.");

            }

            else

            {

                // 추천(찬성), 비추천(반대) 카운트 증가

                sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");

                // 내역 생성

                $sql=" insert {$g5['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G5_TIME_YMDHIS."',

    wr_ip = '{$_SERVER['REMOTE_ADDR']}' ";

     

                sql_query($sql,false);

    if (sql_error_info()) {

    if (strstr(sql_error_info(),'Unknown column')) {

       sql_query(" ALTER TABLE `{$g5['board_good_table']}` DROP INDEX fkey1;", false);

       sql_query(" ALTER TABLE `{$g5['board_good_table']}` ADD `wr_ip` varchar(255) NOT NULL", false);

       sql_query(" ALTER TABLE `{$g5['board_good_table']}` ADD INDEX(`bo_table`, `wr_id`, `mb_id`, `wr_ip`)", false);

    }

               sql_query($sql,false);

    }

     

                if ($good == 'good')

                    $status = '추천';

                else

                    $status = '비추천';

     

                $href = './board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id;

     

                alert("이 글을 $status 하셨습니다.", '', false);

            }

        }

    }

    exit;

    ?>​ 

     

     

     

     

    댓글목록

    등록된 댓글이 없습니다.

    그누보드팁 / 다운로드 / 스킨 목록

    게시물 검색

    PC 버전으로 보기