크롬80버전 결제 이슈, 영카트5 주요패치 확인!

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

컨텐츠몰 10% 할인
그누보드5
영카트5
매뉴얼
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티

그누보드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

댓글 전체

전체 30 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

진행중 포인트경매

  1. 참여9 회 시작20.05.27 19:24 종료20.06.01 19:24

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT