염치불구하고 도움 요청드립니다

염치불구하고 도움 요청드립니다

QA

염치불구하고 도움 요청드립니다

본문

안녕하세요 많은 도움받고 있는 아무것도 모르는 초보입니다.

 

커뮤니티 홈페이지를 만들고 있는데 게시글 작성시 자동으로 댓글이 입력되는 소스를 이곳에서

얻게되어 잘 적용은 해놨습니다.

 

근데 게시글 작성된시간과 댓글 작성시간이 똑같아서 아무래도 뭔가 인위적인 느낌이

너무 강해서요..

 

<?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

$reply = array('가을비','꾸루','지노님','단이','오로시남','짱꽁이네','순리진리','먼지가','누리빼꼼','소모리','이꼬장이','애드피지','부산꾸미','멋진아빠','소미닝','클라쓰','브지되지','부엉','한실장','godloves231','초자연인','현이오르다','monykingkong');


 

$array = array('ㅋㅋㅋㅋ','ㅎㅎㅎ','잼있네요^^','오늘도 좋은하루되세요~','헐...','이거 진짠가요?','대박','^^','음..','ㅋ','ㅎㅎ','ㅎㅎ;','ㅋㅋ;','미쳐ㅋ;','오호~','푸핫','헐 이네요','ㅠㅠ',';;','잘봤습니다','그렇군요','ㄹㅇ?','이거 레알인가요','이거 참..','황당ㄷㄷㄷ'); 

$max_reply = rand(2,7);//1에서 10사이의 랜덤수를 저장해서 아래 루프에서 돌리게됩니다.

 

for($m=1;$m<=$max_reply;$m++){

 

    $randNum = rand(0,count($array)-1); 

    $randint = mt_rand(0, count($reply)-1);

 

if($w == ''){

    $wr_write = get_write($write_table, $wr_id);//원글정보

    $wr_write_content = $array[$randNum]; //댓글내용

    $wr_write_cname = $reply[$randint];//등록자명

    $wr_write_mb_id = $config[cf_admin];//등록아이디

    $wr_write_password = sql_password(G5_SERVER_TIME);//패스워드

  

    $sql = " insert into $write_table

                set ca_name = '$wr_write[ca_name]',

                    wr_num = '$wr_write[wr_num]',

                    wr_parent = '$wr_id',

                    wr_is_comment = '1',

                    wr_comment = '1',

                    wr_content = '$wr_write_content',

                    mb_id = '$wr_write_mb_id',

                    wr_password = '$wr_write_password',

                    wr_name = '$wr_write_cname',

                    wr_datetime = '".G5_TIME_YMDHIS."',

                    wr_ip = '000.000.000.000' ";

    sql_query($sql);

  

  

    // 원글에 코멘트수 증가

    sql_query(" update $write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '$wr_id' ");

    sql_query(" update {$g5['board_new_table']} set as_comment = as_comment + 1 where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' ", false);

    // 코멘트 1 증가

    sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$bo_table' ");

  

}

 

}


 

@include_once($write_skin_path.'/write_update.tail.skin.php');

// 목록으로 이동하기

if($w == '' && isset($is_direct) && $is_direct) {

    if ($file_upload_msg)

        alert($file_upload_msg, G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table);

    else

        goto_url(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table);

}

 

?>

 

 

초보의 생각으로는 색칠한 부분을 수정하면 될것같은데

검색만해서는 도저히 알수가 없더라구요.

 

게시글 작성후 3분 또는 5분 이런식으로 딱 정해서 댓글이 작성되도록

수정해주실수 있을까요?

 

부탁드릴게요

이 질문에 댓글 쓰기 :

답변 3

settimeout 으로 걸거나, 자동적으로 달리는 댓글 시간을 현시간 +3분 이렇게 하시면 되지 않을까요?

$timestamp = strtotime("+5 minutes"); //현재시간으로부터 5분후
$comment_time = date("Y-m-d H:i:s", $timestamp);

wr_datetime = '".$comment_time."',

 

이런식으로 처리하면 되지않을까 싶네요

근데 실제 글작성후 5분이란 시간뒤에 달리게 하고싶다고하시면 쪼금 복잡해집니다.. write.php에선 처리가 안될꺼고 view.php에서 처리를해야하나 ... 근데 이러면 글을 봐야만 달리니 list.php에서 처리하는게 최선일까 생각도 들고... 그럼 list가 무거워질 우려가..

그럼 결국 cron써서 돌리는방법도있긴한데 일반호스팅환경에선 cron기능을 제공하지않으니 cron사용이 힘들다면 당연히 못쓰구요..

이런저런생각하다가 결국 위쪽방법이 최선일것같네요

아니면 다른 고수분이 다른방법을 ㅎㅎ..

 

답변 감사드립니다. 실제 시간과 달라도 전혀 상관없습니다 표시되는 시간만 작성시간과 다르게 표시하고싶어서요. 위에 말씀해준 소스는 제가 적은 소스 어느부분에 넣으면 될까요?

시간 처리는 Policia님 답변처럼하시면 되시고,

1. 글쓰기 단계에서 미리 시간에 맞게 글을 작성하고 댓글 스킨에서 시간이 지나지 않은 글은 미노출할수도 있지만.... 이럴경우에는 댓글 정렬도 신경쓰야됩니다.

 

2. 게시글 여분필드(자동댓글갯수 or 시간설정배열 등)를 이용해서 해당 검사후 설정 시간이 지났다면 댓글 자동생성

 

  - view 스킨 설정시간이 지났을경우 읽은 시점 시간으로 처리하거나 댓글 마지막 작성시간과 현재시간 사이에서 랜덤하게 처리하거나

https://github.com/gnuboard/gnuboard5/blob/master/bbs/view.php#L9

https://github.com/gnuboard/gnuboard5/blob/master/bbs/view.php#L145

  - 코멘트 업데이트 스킨 시나리오 작업 실행

https://github.com/gnuboard/gnuboard5/blob/master/bbs/write_comment_update.php#L18

https://github.com/gnuboard/gnuboard5/blob/master/bbs/write_comment_update.php#L337

 

답변을 작성하시기 전에 로그인 해주세요.
전체 35
QA 내용 검색

회원로그인

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