게시물 코멘트 등록함수 > 그누보드5 팁자료실

그누보드5 팁자료실

게시물 코멘트 등록함수 정보

게시물 코멘트 등록함수

본문

이전에 작성한 게시판 파싱후 글등록 처리 함수  에 연결된 팁입니다.

 

코멘트 등록함수 입니다. 작성자 아이디와, 작성자 이름이 unknown 으로 들어갑니다.

특정 사용자로 작성자를 지정할려면 함수 호출시 파라메타로 넘겨주세요.

 

 

 



/**
 * 그누보드 게시물 코멘트 등록 함수.
 * 그누보드의 게시판 코멘트 등록파일(write_comment_update.php) 로직을 참고하였습니다.
 * depth 처리는 없습니다. 0단계만 적용
 * @param $bo_table 게시판판명 ex)humor
 * @param $wr_id 게시물 번호
 * @param $wr_content 코멘트 내용
 * @param string $mb_id 코멘트 작성자 아이디
 * @param string $wr_name 코멘트 작성자명
 * @return int|string  등록완료시 등록된 코멘트아이디, 코멘트 등록실패시 0
 */
function board_comment_write($bo_table, $wr_id, $wr_content, $mb_id="", $wr_name = "") {
    global $g5, $config;
    $write_table = "g5_write_{$bo_table}";
    if(!$mb_id)  $mb_id = "unknown";
    if(!$wr_name) $wr_name = "unknown";
    $wr_email = "";

    $wr = get_write($write_table, $wr_id);

    if (empty($wr['wr_id'])) {
        return 0;
    }
    // 090710
    if (substr_count($wr_content, "") > 50) {
        return 0;
    }
    $sql = " select max(wr_comment) as max_comment from $write_table
                    where wr_parent = '$wr_id' and wr_is_comment = 1 ";
    $row = sql_fetch($sql);
    //$row[max_comment] -= 1;
    $row['max_comment'] += 1;
    $tmp_comment = $row['max_comment'];
    $tmp_comment_reply = '';
    $sql = " insert into $write_table
                set ca_name = '{$wr['ca_name']}',
                     wr_option = '',
                     wr_num = '{$wr['wr_num']}',
                     wr_reply = '',
                     wr_parent = '$wr_id',
                     wr_is_comment = 1,
                     wr_comment = '$tmp_comment',
                     wr_comment_reply = '$tmp_comment_reply',
                     wr_subject = '',
                     wr_content = '$wr_content',
                     mb_id = '$mb_id',
                     wr_password = '',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '',
                     wr_ip = '0.0.0.0'
                    ";
    sql_query($sql);
    $comment_id = sql_insert_id();

    // 원글에 댓글수 증가 & 마지막 시간 반영
    sql_query(" update $write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '$wr_id' ");
    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$comment_id', '$wr_id', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
    // 댓글 1 증가
    sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$bo_table' ");
    delete_cache_latest($bo_table);
    return $comment_id;
}

 

함수 호출 예제



$comment = "테스트입니다. time : ".date("H:m:s");
$comment_id = board_comment_write("humor", 100, $comment);
echo $comment. " , comment_id = $comment_id <br>";
추천
3

댓글 5개

안녕하세요! 좋은 코드 너무 감사드립니다! 궁금한 점이 있어요. 데이터를 크롤링하여 게시글에 저장하는 함수를 만들고 있습니다. 이 때 작성한 파이썬 코드파일을 그누보드에 실행하려면 주피터 노트북에서는 불가능하겠죠..? FTP로 해당 코드파일을 전송한 다음에 실행시켜야 하는건가요..? 그누보드가 처음이라 실행 방법을 모르겠습니다..ㅠㅠ
전체 30 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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