코멘트 추천 에러 잡아 주셔요.....^^;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

코멘트 추천 에러 잡아 주셔요.....^^;; 정보

코멘트 추천 에러 잡아 주셔요.....^^;;

첨부파일

view_comment.skin.php (12.5K) 18회 다운로드 2011-03-25 17:34:30
write_comment_update.php (14.4K) 3회 다운로드 2011-03-25 19:53:56

본문

댓글에서 아래 자바스크립터가 먹히질 않네요.
댓글은 써지는데 추천이 동시에 안되는건 왜 그럴까요?

그누보드 4.33.07 패치후에 안됩니다....ㅠㅠ

아래 소스는 댓글+추천 버튼과 자바스크립터 소스입니다. 제가 뭘 잘못 했나요? 


<div><a href="javascript:good_and_write()"><img src="<?=$board_skin_path?>/img/co_btn_good_write.gif"></a></div>


<script type="text/javascript">

function good_and_write()
{
    var f = document.fviewcomment;
    if (fviewcomment_submit(f)) {
        f.is_good.value = 1;
        f.submit();
    } else {
        f.is_good.value = 0;
    }
}

function fviewcomment_submit(f)
{
    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자

    f.is_good.value = 0;


........블라 블라................


</script>

view_comment.skin.php 첨부 합니다.

게시판 설정에서 추천 설정 했구요...^^

댓글 전체

아파차님 시간이 시간인지라 급 쏘 댕기는 바람에 미안합니다. 찬찬히 생각하면 잡을 수 있을 것 같은데요 ..... 미안 시럽구만요 ... ㅠㅠㅠ ...
원래 코멘트에 추천포함 기능이 기본에 있는건가요? is_good이란 변수값으로 추천을 처리해야되는데 write_comment_update.php에 안보이는거 같습니다.
이 파일을 덮어쓰셨는지 알려주실수 있나요?
덮으셨다면 추천기능이 되던대의 write_comment_update.php 파일을 비교해보시면 찾을수 있을듯 합니다.
bbs/write_comment_update.php 파일에는 is_good 를 처리하는 변수가 없네요...ㅠㅠ

살펴보니 추천 비추천 변수는 bbs/board.php 파일에 있네요...^^
<a href="<?=$good_href?>" target=hiddenframe><img src="<?=$board_skin_path?>/img/co_btn_good.gif"></a>  이거를 ...

아래껄로 교체해 보시구요 ...

<? if ($good_href) { echo "<a href=\"$good_href\" target='hiddenframe'><img src='$board_skin_path/img/co_btn_good.gif' align='absmiddle' alt='' /></a> "; } ?>
해결 했습니다. 댓글 달아주신 분들 감사 드립니다.

코멘트업데이트 파일 추가하고 쿼리문 만들어 붙이니 잘 돌아 가는군요....^^
write_comment_update.tail.skin.php 파일을 하나 더 만드세요 ....

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

if( empty($is_member) || empty( $is_good) ) return;

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

$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name)) return;

$good='good';

    if($write[mb_id] == $member[mb_id]) return;

    if (!$board[bo_use_good] && $good == "good") return;

    $sql = " select bg_flag from $g4[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);
    if ($row[bg_flag]) return;
    else
    {
        // 추천(찬성), 비추천(반대) 카운트 증가
        sql_query(" update {$g4[write_prefix]}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '$wr_id' ");
        // 내역 생성
        sql_query(" insert $g4[board_good_table] set bo_table = '$bo_table', wr_id = '$wr_id', mb_id = '$member[mb_id]', bg_flag = '$good', bg_datetime = '$g4[time_ymdhis]' ");
    }
?>
function good_and_write()
{
    var f = document.fviewcomment;
    if (fviewcomment_submit(f)) {
        f.is_good.value = 1;
        f.submit();
    } else {
        f.is_good.value = 0;
    }
}

function fviewcomment_submit(f)
{
    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자

    f.is_good.value = 0;  // 그대로 두셔도 됩니다.
흨. 17만점이나 걸어셨군요..^^ 아마 업데이트 되면서 관련 루틴이 빠진듯 같습니다.
freeimage.kr 에서 물어보셔도 되는데. ^^
1) 스킨경로에 write_comment_update.tail.skin.php 라는 이름으로 다음의 소스를 추가

<?
if ($is_good&&$write[mb_id] != $member[mb_id]&&$member[mb_id] && $board[bo_use_good] )
{
$sql = " select bg_flag from $g4[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);
if (!$row[bg_flag])
{
// 추천(찬성), 비추천(반대) 카운트 증가
sql_query(" update {$g4[write_prefix]}{$bo_table} set wr_good  = wr_good  + 1 where wr_id = '$wr_id' ");
// 내역 생성
sql_query(" insert $g4[board_good_table] set bo_table = '$bo_table', wr_id = '$wr_id', mb_id = '$member[mb_id]', bg_flag = 'good ', bg_datetime = '$g4[time_ymdhis]' ");
}
}
?>

2) view_comment.skin.php 에서 스크립터 부분수정..


function good_and_write()
{
    var f = document.fviewcomment;
f.is_good.value = 1;
f.submit();
}

function fviewcomment_submit(f)
{
    var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자

    //f.is_good.value = 0;        <-- 요기에 // 넣을것..
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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