그누보드 [G5] 글 수정 & 새댓글 & 모바일 흔적 나타내기
페이지 정보
첨부파일
-
icon.zip (24.0K)
39회 다운로드 | DATE : 2017-10-21 13:17:29
본문
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_datetime = '".G5_TIME_YMDHIS."',
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}',
";
if ($no_lastupdate=="") { $sql = $sql."
wr_update= '".date("Y-m-d H:i:s")."',
";}
$sql = $sql."
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 / skin / board / basic / write.skin.php 에 내용 추가
<?php if ($is_admin=="super" && $w=='u') { ?>
<tr>
<th scope="row" style="vertical-align:text-top; padding-top:10px;">날짜</th>
<td>
<input type="checkbox" name="no_lastupdate" value="NoDateUpdate"> 최종수정일 변경안함
</td>
</tr>
<?php } ?>
7-1. 그누보드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"; } ?>">
7-2. 그누보드5 / mobile / skin / board / basic / write.skin.php 에 내용 추가
<?php if ($is_admin=="super" && $w=='u') { ?>
<tr>
<th scope="row" style="vertical-align:text-top; padding-top:10px;">날짜</th>
<td>
<input type="checkbox" name="no_lastupdate" value="NoDateUpdate"> 최종수정일 변경안함
</td>
</tr>
<?php } ?>
참고자료
https://sir.kr/g5_tip/5905
https://sir.kr/g5_tip/3338
-. 코멘트 작성체크 수정 : 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_datetime = '".G5_TIME_YMDHIS."',
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}',
";
if ($no_lastupdate=="") { $sql = $sql."
wr_update= '".date("Y-m-d H:i:s")."',
";}
$sql = $sql."
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 / skin / board / basic / write.skin.php 에 내용 추가
<?php if ($is_admin=="super" && $w=='u') { ?>
<tr>
<th scope="row" style="vertical-align:text-top; padding-top:10px;">날짜</th>
<td>
<input type="checkbox" name="no_lastupdate" value="NoDateUpdate"> 최종수정일 변경안함
</td>
</tr>
<?php } ?>
7-1. 그누보드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"; } ?>">
7-2. 그누보드5 / mobile / skin / board / basic / write.skin.php 에 내용 추가
<?php if ($is_admin=="super" && $w=='u') { ?>
<tr>
<th scope="row" style="vertical-align:text-top; padding-top:10px;">날짜</th>
<td>
<input type="checkbox" name="no_lastupdate" value="NoDateUpdate"> 최종수정일 변경안함
</td>
</tr>
<?php } ?>
참고자료
https://sir.kr/g5_tip/5905
https://sir.kr/g5_tip/3338
댓글목록
등록된 댓글이 없습니다.