천상재회님 질문있습니다! 정보
천상재회님 질문있습니다!본문
천상재회님 안녕하세요.
읽어주셔서 감사합니다. (__)
전에 천상재회님께서 해결해 주신 달력에 관한 질문입니다.
저번에 깔끔하게 해결에 주셔서 정말 아무 문제없이 잘 사용하고 있었는대요,
갑자기 문제가 생겼습니다.
최근에 관리자로 로그인해서 뜬금없이 [업그레이드]와, [복구/최적화] 메뉴를
한번씩 적용한 적이 있습니다.
그리고 그냥 잘 사용했는데 오늘 달력을 보니
문제가 생겼다는 것을 발견하였습니다.
다름아니고
1. 달력에서 글이 등록된 날짜가 전에는 굵은 폰트였는데
이제는 달력의 글이 등록된 날에 아무 변화가 없습니다.
2. 달력 날짜를 클릭했을 경우, 해당일에 게시글이 있을 경우
게시글이 바로 열렸는대요, 이제 다시 예전처럼 목록이 보여집니다.
(그러니까 모두 처음 상태로 돌아갔습니다. ㅠㅠ)
*** 아무래도 제 짧은 생각으로는 무슨 이유인지는 모르겠지만
달력과 DB와의 연동이 끊어진 듯 합니다. - _-a
그누보드가 달력과 관련이 있는 특정부분이 업그레이드 된 것인지
현재 10시간이 넘게 발버둥치고 있는데 저로서는 도저히 방법이 없네요.
아래코드 한 번 살펴주시기 바랍니다.
다시 전처럼 잘돌아갔으면 정말 좋겠네요.
문제가 생길 수 있는 또 하나의 가능성은 달력을 하루에 하나만 쓴 것이 아니고
어떤 날은 두개, 또는 세개도 쓴 적이 있습니다.
만에 하나 그 때문일 수도 있겠네요.
아무튼 살펴주시기 바랍니다.
포인트... 많지는 않지만 올인 했습니다.
감사합니다.
--------------------------------- 아래 ----------------------------------
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$bo_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$bo_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
댓글 전체

왕초보의 닉이 거론될때마다 두근반 세근반 합니다....ㅠ.ㅠ
위 소스의 경우 이상 없습니다.....
같은 날짜에 동일게시판에 글이 여러건 올라와도 가장 나중에 올라온 글보기로 갑니다.
혹 몰라서 긁어다가 달아보았네요...
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$bo_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
위 소스의 경우 이상 없습니다.....
같은 날짜에 동일게시판에 글이 여러건 올라와도 가장 나중에 올라온 글보기로 갑니다.
혹 몰라서 긁어다가 달아보았네요...
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$bo_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
천상재회님, 답변 감사합니다. ^^;
그런데 위의 코드 그대로 올렸음에도 불구하고 갑자기 안되는 이유를 모르겠습니다.
(실제로 아주 잘 돌아갔었습니다. 코드의 문제는 아닌 것 같아요.)
멀쩡히 잘돌아가다가 이렇게 안 될 경우 천상재회님께서 예상하실 수 있는
원인은 무엇이 있는지 여쭤봐도 되겠는지요.
예를 들어 코드는 문제가 없다고 하면 다른 어떤 문제가 있을 때
이런 현상이 나타날 수 있는건지요?
현재 달력의 날짜를 클릭하면 예전과는 달리 무조건 목록만 보여지구요,
등록된 날짜에도 전에는 굵은 폰트였는데 지금은 아무 변화가 없거든요.
아 정말 어찌해야 할 지 모르겠습니다. ㅠㅠ
그런데 위의 코드 그대로 올렸음에도 불구하고 갑자기 안되는 이유를 모르겠습니다.
(실제로 아주 잘 돌아갔었습니다. 코드의 문제는 아닌 것 같아요.)
멀쩡히 잘돌아가다가 이렇게 안 될 경우 천상재회님께서 예상하실 수 있는
원인은 무엇이 있는지 여쭤봐도 되겠는지요.
예를 들어 코드는 문제가 없다고 하면 다른 어떤 문제가 있을 때
이런 현상이 나타날 수 있는건지요?
현재 달력의 날짜를 클릭하면 예전과는 달리 무조건 목록만 보여지구요,
등록된 날짜에도 전에는 굵은 폰트였는데 지금은 아무 변화가 없거든요.
아 정말 어찌해야 할 지 모르겠습니다. ㅠㅠ

적용 링크와 적용된 게시판 링크를 쪽지 주세요....
아마도 게시판이 적용되지 않았을 수도 있습니다...
아마도 게시판이 적용되지 않았을 수도 있습니다...
죄송합니다. 포인트가 0점이라 더이상의 쪽지전달이 안되네요. ㅠㅠ

먼저는 프레임을 사용하시지 않은 것 아닌가요.....?
아닙니다. 지금 제가 보내드린 코드는 수정을 완료한 코드입니다.
지금 보내드린 코드 그대로 약 20일간 문제없이 작동했습니다.
아무것도 안 고쳤습니다.
지금 보내드린 코드 그대로 약 20일간 문제없이 작동했습니다.
아무것도 안 고쳤습니다.

소스 한번 대체 해보세요...
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$chk_table = "calendar"; //여기서 게시판을 정의 함.
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$chk_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$chk_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$chk_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$chk_table = "calendar"; //여기서 게시판을 정의 함.
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$chk_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$chk_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$chk_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
대체해서 확인했습니다.
지금처럼 클릭하면 목록만 보여집니다.
확인해보세요.
2분후 다시 돌려놓겠습니다.
지금처럼 클릭하면 목록만 보여집니다.
확인해보세요.
2분후 다시 돌려놓겠습니다.

<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$tmp_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $tmp_table where date_format(wr_datetime,'%Y-%m-%d')='$charge_date' and wr_is_comment = 0 order by wr_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['wr_datetime'],8,2);
$arry_name[$arry_day]=substr($row['wr_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $tmp_table where wr_is_comment = '0' and date_format(wr_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by wr_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$tmp_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $tmp_table where date_format(wr_datetime,'%Y-%m-%d')='$charge_date' and wr_is_comment = 0 order by wr_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['wr_datetime'],8,2);
$arry_name[$arry_day]=substr($row['wr_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $tmp_table where wr_is_comment = '0' and date_format(wr_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by wr_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
쪽지를 보내기 위해 100점의 포인트를 얻고자 작성된 글입니다. - _-a

수정....
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$tmp_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $tmp_table where date_format(wr_datetime,'%Y-%m-%d')='$charge_date' and wr_is_comment = 0 order by wr_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['wr_datetime'],8,2);
$arry_name[$arry_day]=substr($row['wr_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $tmp_table where wr_is_comment = '0' and date_format(wr_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by wr_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$tmp_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $tmp_table where date_format(wr_datetime,'%Y-%m-%d')='$charge_date' and wr_is_comment = 0 order by wr_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['wr_datetime'],8,2);
$arry_name[$arry_day]=substr($row['wr_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $tmp_table where wr_is_comment = '0' and date_format(wr_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by wr_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
네 감사합니다.
적용시켜볼게요.
적용시켜볼게요.

좌측에서만 바뀌는 것으로 보아서는 먼저는 프레임을 나누지 않았고 현재는 프레임을 나누어서 그런듯 합니다...
이는 2차 적인 문제이며 가장 기본적으로 문제가 되었던 부분은 업그레이드 하면서 새로운 글 게시판에 초기화되어 연결되지 않았습니다.(현재 새글에는 자유게시판 글 1개만 존재함)
혹 테스트 해 보시려면 해당 다이어리 게시판에 새글을 작성하신후 기존 달력으로 교체해 보십시오....
이는 2차 적인 문제이며 가장 기본적으로 문제가 되었던 부분은 업그레이드 하면서 새로운 글 게시판에 초기화되어 연결되지 않았습니다.(현재 새글에는 자유게시판 글 1개만 존재함)
혹 테스트 해 보시려면 해당 다이어리 게시판에 새글을 작성하신후 기존 달력으로 교체해 보십시오....
감사합니다, 된 것 같습니다. (__)
조금만 제가 손보면 될 듯 싶네요.
업그레이드와 복구/최적화를 아예 안되게 하려면 어떤 파일들을 지우면 되져?
그냥 upgrade,php 파일만 지우면 됩니까? ^^
이번에 겪어보니 호환, 마마보다 업그레이드 복구/최적화가 더 무섭네요. ㅋㅋ
천상재회님, 정말 정말 감사합니다. ^^;
조금만 제가 손보면 될 듯 싶네요.
업그레이드와 복구/최적화를 아예 안되게 하려면 어떤 파일들을 지우면 되져?
그냥 upgrade,php 파일만 지우면 됩니까? ^^
이번에 겪어보니 호환, 마마보다 업그레이드 복구/최적화가 더 무섭네요. ㅋㅋ
천상재회님, 정말 정말 감사합니다. ^^;
역시 100점을 받기 위한 발버둥. ㅠㅠ

전체목록보이기 사용에 체크하시고 적용해 보세요...
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$tmp_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $tmp_table where date_format(wr_datetime,'%Y-%m-%d')='$charge_date' and wr_is_comment = 0 order by wr_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['wr_datetime'],8,2);
$arry_name[$arry_day]=substr($row['wr_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $tmp_table where wr_is_comment = '0' and date_format(wr_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by wr_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&wr_id=$row2[wr_id]&sop=and&sfl=wr_datetime&stx=$chk_day'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$tmp_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$chk_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $tmp_table where date_format(wr_datetime,'%Y-%m-%d')='$charge_date' and wr_is_comment = 0 order by wr_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['wr_datetime'],8,2);
$arry_name[$arry_day]=substr($row['wr_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $tmp_table where wr_is_comment = '0' and date_format(wr_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by wr_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&wr_id=$row2[wr_id]&sop=and&sfl=wr_datetime&stx=$chk_day'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
천상재회님, 수고하셨습니다.
이제 되는 것 같습니다.
감사합니다!!
이제 되는 것 같습니다.
감사합니다!!