글 수정 & 새댓글 & 모바일 흔적 나타내기 (2017-10-25 14:56 수정) > 그누보드5 팁자료실

그누보드5 팁자료실

글 수정 & 새댓글 & 모바일 흔적 나타내기 (2017-10-25 14:56 수정) 정보

글 수정 & 새댓글 & 모바일 흔적 나타내기 (2017-10-25 14:56 수정)

첨부파일

icon.zip (24.0K) 18회 다운로드 2017-10-21 14:04:27

본문

2017-10-25 14:56
  -. 코멘트 작성체크 수정 : lib/common.lib.php 수정



https://sir.kr/g5_tip/5905 베원님의 팁을 활용했으며 아래의 사항이 다릅니다.
1. wr_5 필드가 아닌 wr_update 필드를 자동 생성해서 그곳에 수정일자를 저장합니다.
2. 자료 저장방식을 timestamp 가 아닌 date 타입 ( 2017-10-21 09:20 )으로 저장합니다.
3. 원글 작성일자와 관계없이 수정일을 기준으로 icon 이 표시됩니다.
4. 댓글이 올라오면 아이콘이 표시됩니다.
5. 모바일에서 글작성/수정할때 아이콘 표시됩니다.



1. 아이콘
그누보드5 / skin / board / basic / img / icon_comment.gif
그누보드5 / skin / board / basic / img / icon_mobile.gif
그누보드5 / skin / board / basic / img / icon_update.gif



2-1. 그누보드5 / bbs / write_update.php

    $sql = " insert into $write_table
...
                    wr_last = '".G5_TIME_YMDHIS."',
                    wr_1 = '$wr_1',
...

를 아래와 같이 변경

    // 글수정 일시 필드 추가
    $field_query = "SHOW COLUMNS FROM ".$write_table." WHERE `Field` = 'wr_update';";
    $field_row = sql_fetch( $field_query );
    if(!$field_row['Field']) {
        sql_query(" ALTER TABLE `".$write_table."`ADD `wr_update` varchar(255) NOT NULL DEFAULT '' AFTER `wr_10` ", true);
    }
    // 모바일 필드 추가
    $field_query = "SHOW COLUMNS FROM ".$write_table." WHERE `Field` = 'wr_mobile';";
    $field_row = sql_fetch( $field_query );
    if(!$field_row['Field']) {
        sql_query(" ALTER TABLE `".$write_table."`ADD `wr_mobile` varchar(10) NOT NULL DEFAULT '' AFTER `wr_update` ", true);
    }

    $sql = " insert into $write_table
...
                    wr_last = '".G5_TIME_YMDHIS."',
                    wr_mobile = '".$wr_mobile."',
                    wr_1 = '$wr_1',
...



2-2. 그누보드5 / bbs / write_update.php

    $sql = " update {$write_table}
...
                    wr_homepage = '{$wr_homepage}',
                    wr_1 = '{$wr_1}',
...

를 아래와 같이 변경

    // 글수정 일시 필드 추가
    $field_query = "SHOW COLUMNS FROM $write_table WHERE `Field` = 'wr_update';";
    $field_row = sql_fetch( $field_query );
    if(!$field_row['Field']) {
        sql_query(" ALTER TABLE `".$write_table."`ADD `wr_update` varchar(255) NOT NULL DEFAULT '' AFTER `wr_10` ", true);
    }
    // 모바일 필드 추가
    $field_query = "SHOW COLUMNS FROM ".$write_table." WHERE `Field` = 'wr_mobile';";
    $field_row = sql_fetch( $field_query );
    if(!$field_row['Field']) {
        sql_query(" ALTER TABLE `".$write_table."`ADD `wr_mobile` varchar(10) NOT NULL DEFAULT '' AFTER `wr_update` ", true);
    }

    $sql = " update {$write_table}
...
                    wr_homepage = '{$wr_homepage}',
                    wr_update= '".date("Y-m-d H:i:s")."',
                    wr_mobile= '".$mobile."',
                    wr_1 = '{$wr_1}',
...



3. 그누보드5 / lib / commom.lib.php

    $list['icon_hot'] = '';

위에 내용 추가

    $list['icon_update'] = '';
    if ($list['wr_update'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - ($board['bo_new'] * 3600)))
        $list['icon_update'] = '<img src="'.$skin_url.'/img/icon_update.gif" alt="글수정">';

    $list['icon_comment'] = '';
    if ($list['wr_datetime']!=$list['wr_last'] && $list['wr_last'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - ($board['bo_new'] * 3600)))
        $list['icon_comment'] = '<img src="'.$skin_url.'/img/icon_comment.gif" alt="새댓글">';

    $list['icon_mobile'] = '';
    if ($list['wr_mobile'])
        $list['icon_mobile'] = '<img src="'.$skin_url.'/img/icon_mobile.gif" alt="모바일">';



4. 그누보드5 / skin / board / basic / list.skin.php

                if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];

아래에 내용 추가

                if (isset($list[$i]['icon_update'])) echo $list[$i]['icon_update'];
                if (isset($list[$i]['icon_comment'])) echo " ".$list[$i]['icon_comment'];
                if (isset($list[$i]['icon_mobile'])) echo " ".$list[$i]['icon_mobile'];



5. 그누보드5 / mobile / skin / board / basic / list.skin.php

                    if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];

아래에 내용 추가

                    if (isset($list[$i]['icon_update'])) echo " ".$list[$i]['icon_update'];
                    if (isset($list[$i]['icon_comment'])) echo " ".$list[$i]['icon_comment'];
                    if (isset($list[$i]['icon_mobile'])) echo " ".$list[$i]['icon_mobile'];



6. 그누보드5 / mobile / skin / board / basic / write.skin.php
    <input type="hidden" name="page" value="<?php echo $page ?>">

아래에 내용 추가

    <input type="hidden" name="wr_mobile" value="<?php if (is_mobile) { echo "M"; } ?>">



참고자료
https://sir.kr/g5_tip/5905
https://sir.kr/g5_tip/3338
추천
3

댓글 3개

유용한 팁을 많이 올려주시는군요,,감사합니다.!!
관련링크 사이트에 보면 많은 카테고리에 각 글 수까지 표시했더군요,,속도도 괜찮고,,
그 팁은 앙올려주시는지..ㅎ
음... 그건 오래전에 작업했던 거라... 기억이 ... ㅎㅎ
카테고리 방식이 현재꺼랑 달라서 지금의 팁으로는 안어울릴듯 싶네요.
제 강좌중에 그거 관련된 내용이 있을껍니다.
잘 찾아보세요  ㅎㅎ
전체 2,412 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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