하지만, 전 새롭게 페이지를 열어서 게시판 이름과 번호를 써서 고치는 것 보다는
그냥 그 게시물을 수정할때, 임의로 고칠 수 있도록 만들고 싶어서 한번 만들어 봤습니다.
더 좋은 방법이 있으면 알려주세요..
1. 제로보드 root 폴더에 있는 write.php 를 수정합니다.
그 페이지를 열고 아래와 같은 부분을 찾습니다.
/******************************************************************************************
* 글쓰기 모드에 따른 내용 체크
*****************************************************************************************/
if($mode=="modify") {
// 비밀글이고 패스워드가 틀리고 관리자가 아니면 리턴
if($data[is_secret]&&!$is_admin&&$data[ismember]!=$member[no]&&$HTTP_COOKIE_VARS[zb_s_check]!=$setup[no]."_".$no) error("정상적인 방법으로 수정하세요");
$name=stripslashes($data[name]); // 이름
$email=stripslashes($data[email]); // 메일
$homepage=stripslashes($data[homepage]); // 홈페이지
$subject=$data[subject]=stripslashes($data[subject]); // 제목
$subject=str_replace("\"",""",$subject);
$homepage=str_replace("\"",""",$homepage);
$name=str_replace("\"",""",$name);
$sitelink1=str_replace("\"",""",$sitelink1);
$sitelink2=str_replace("\"",""",$sitelink2);
$memo=stripslashes($data[memo]); // 내용
$sitelink1=$data[sitelink1]=stripslashes($data[sitelink1]);
$sitelink2=$data[sitelink2]=stripslashes($data[sitelink2]);
이 부분 바로 밑에 아래를 소스를 삽입합니다.
//임의날짜 수정 추가
$reg_date=$data[reg_date];
제로보드 폴더의 write.php 소스수정 끝.
2. 그 다음은 write_ok.php의 수정글일때의 부분만 수정합니다.
아래의 부분을 찾습니다.
/***************************************************************************
* 수정글일때
**************************************************************************/
if($mode=="modify"&&$no) {
if($s_data[ismember]) {
if(!$is_admin&&$member[level]>$setup[grant_delete]&&$s_data[ismember]!=$member[no]) Error("정상적인 방법으로 수정하세요");
}
// 비밀번호 검사;;
if($s_data[ismember]!=$member[no]&&!$is_admin) {
if($password!=$s_data[password]) Error("비밀번호가 틀렸습니다");
}
// 파일삭제
if($del_file1==1) {@z_unlink("./".$s_data[file_name1]);$del_que1=",file_name1='',s_file_name1=''";}
if($del_file2==1) {@z_unlink("./".$s_data[file_name2]);$del_que2=",file_name2='',s_file_name2=''";}
// 파일등록
if($file_name1) {$del_que1=",file_name1='$file_name1',s_file_name1='$s_file_name1'";}
if($file_name2) {$del_que2=",file_name2='$file_name2',s_file_name2='$s_file_name2'";}
여기 바로 밑에 아래의 소스를 추가합니다.
//임의 날짜 변환
if(!$year) {
$reg_date= $reg_date_old;}
else {
$t_time = mktime($hour, $min, $sec, $mon, $day, $year);
$reg_date=$t_time;}
또 그 아래에 좀 내려가시다 보면 수정할 곳이 또 있습니다.
@mysql_query("update $t_board"."_$id set headnum='$headnum',prev_no='$prev_no',next_no='$next_no',child='$child',depth='$depth',arrangenum='$arrangenum',father='$father',name='$name',email='$email',homepage='$homepage',reg_date='$reg_date',subject='$subject',memo='$memo',sitelink1='$sitelink1',sitelink2='$sitelink2',use_html='$use_html',reply_mail='$reply_mail',is_secret='$is_secret',category='$category' $del_que1 $del_que2 where no='$no'") or error(mysql_error());
이런 부분이 있는데, 수정글일때 부분의 이런 부분에 reg_date='$reg_date' 소스를 넣어줍니다.
그러니까..
수정글일때 부분에서 // 공지 -> 일반글, // 일반글 -> 공지, // 일반->일반, 공지->공지 일때, 이 세부분만 고쳐시면 됩니다.
3. 그 다음 마지막으로 skin 폴더에 있는 스킨의 write.php 소스에 아래의 소스를 넣어주시면 됩니다.
<?=$hide_notice_start?>
<!--- 날짜 임의 수정 시작-------->
<input type=hidden name='reg_date_old' value=<?=$reg_date ?>>
<tr>
<td align=right class=listnum width=80><img src=images/t.gif border=0 width=80 height=1><br>날짜수정 </td>
<td>
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td><input type="text" name="year" size="6" maxlength=4 class=input> 년 <input type="text" name="mon" size="4" maxlength=2 class=input> 월 <input type="text" name="day" size="4" maxlength=2 class=input> 일 (수정 안할시에는 그냥 놔두세요.)
<input type="hidden" name="hour" size="2" value="0">
<input type="hidden" name="min" size="2" value="0">
<input type="hidden" name="sec" size="2" value="0">
</td>
</tr>
</table>
</td>
</tr>
<!--- 날짜 임의 수정 끝 -------->
<?=$hide_notice_end?>
출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=3&sn1=&divpage=1&sn=off&ss=on&sc=on&keyword=날짜&select_arrange=headnum&desc=asc&no=6160