스케쥴 스킨 질문드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

스케쥴 스킨 질문드립니다. 정보

스케쥴 스킨 질문드립니다.

본문

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
global $is_admin;
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
$dlfwjd = "#99CCFF";//일정배경색

// 요일
$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="186" cellpadding="0" cellspacing="0" border="0" align="center">
  <tr height="28">
    <td align="right"><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" alt="" width="8" height="9" border="0" align="absmiddle" /></a><b><font style='font-family:쿠키; font-size:9pt; color:#FB6900;'>&nbsp;
      <?=$yyyy?>
      /
      <?=$mm?>
      </font></b> <a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" alt="" width="8" height="9" border="0" align="absmiddle" /></a>
      <? if ($is_admin == "super") { ?>
      <?}?></td>
  </tr>
  <tr>
    <td height="100" 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" alt="" /></td>
        <td width="14%" style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg" alt="" /></td>
        <td width="14%" style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg" alt="" /></td>
        <td width="14%" style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg" alt="" /></td>
        <td width="14%" style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg" alt="" /></td>
        <td width="14%" style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg" alt="" /></td>
        <td width="14%" style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg" alt="" /></td>
      </tr>
      <?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$cday = 1;
$sel_mon = sprintf("%02d",$mon);
$today_sql = "SELECT * FROM $write_table WHERE left(wr_link1,6) <= '$yyyy$sel_mon'  and left(wr_link2,6) >= '$yyyy$sel_mon'  ORDER BY wr_id ASC";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row[wr_link1],6,2);
$arry_name[$arry_day]=substr($row[wr_link1],0,8);
$titals[$arry_day]=$row[wr_subject];
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td height=10 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);
if($arry_name[$day2]){
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td class='cookie' style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' title='{$titals[$day2]}' onclick=\"javascript:win_open('$g4[path]/pop_schedule.php?bo_table=$bo_table&year=$yyyy&month=$mm2&day=$day2', 'schedule', 'left=50, top=50, width=300, height=400, scrollbars=1');\">";
}else{
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td class='cookie' style='padding:1px;font-size:8pt;' id='id$i$k' align=center title='{$titals[$day2]}'>";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($arry_name[$day2]){
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$dlfwjd';</script>";
}
echo $day;
if ($arry_name[$day2]){
echo "";
}
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 "&nbsp;";
} else
echo "&nbsp;";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
    </table></td>
  </tr>
  <tr>
    <td height="5"></td>
  </tr>
</table>
<!-- Line bottom end -->

우선 소스는 위와 같습니다.

문의사항은 게시판에 글을 쓰면 스케줄에 표시가 되야하는데

초보인 저로써는 문제점을 찾기와 해결하기가 힘듭니다.ㅠㅠ

디자인때문에 쉽게 다른 스킨으로 바꿀수도 없어서 ㅠㅠ

식사들 맛있게 하시고 답변 부탁드립니다.

댓글 전체

전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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