일정관리용 작은 다이어리 아무곳에나 설치...
사용방법
출력하고 싶은곳에
<? include "month.php";?>하시면 됩니다.
//#####################################################
//## 스킨디렉토리에 일정관리+다이어리 최정(하늘비님 스킨버젼) <---이것과 같이 연동되는겁니다.
//## 연동안할시는 날짜링크를 삭제하시면 됩니다.
//#####################################################
$bo_table = "일정관리스킨게시판명";
$cell_width = 20; // 셀 가로 크기
$cell_height = 20; // 셀 세로 크기
이값을 조정해서 테이블 사이즈를 조절가능합니다.
수정버젼으로 함수방식으로 셀가로,세로를 지정하고
해당 일정관리 쓰기모드와 연동 되도록 수정버젼 만들어서 올리겠습니다.
이후 버젼방식
<? month_d('bo_table명',가로폭,세로폭); ?>
//############################################################
//##
//## month.php
//##
//############################################################
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
?>
<!------------------------------------
//####################################
// basic Board Skin : rei
// skin by ⓒⓒⓒ
// msn : oldccc@hotmail.com
// home : http://ccc.na.ly
//
//####################################
-------------------------------------->
<?
$cell_width = 20; // 셀 가로 크기
$cell_height = 20; // 셀 세로 크기
$limit_year = "1971~2037"; // 한계연도
$ttoday = $nday;
// 주어진 날짜가 없으면 현재날짜 구하기
if(!$nyear) $nyear = date('Y',time());
if(!$nmonth) $nmonth = date('m',time());
if(!$nday) $nday = date('d',time());
$tday = date('d',time());
// 기타 함수 정의
function end_day($year,$month){
for($i=28;$i<=32;$i++) {
if(!checkdate($month,$i,$year)) {
return $i-1;
break;
}
}
}
function conv_year($switch) {
global $nyear, $nmonth;
$c_year = $nyear;
if($switch=="prev") $c_year--;
else if($switch=="next") $c_year++;
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$nmonth);
}
function conv_month($switch) {
global $nyear, $nmonth;
$c_year = $nyear;
$c_month = $nmonth;
if($switch=="prev") {
if($nmonth <= 1) {$c_year--; $c_month=12;}
else $c_month--;
} else if($switch=="next") {
if($nmonth >= 12) {$c_year++; $c_month=1;}
else $c_month++;
} else {
$c_year=date('Y',time());
$c_month=date('m',time());
}
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$c_month);
}
function conv_week($switch) {
global $week_first, $week_last ;
if($switch=="prev") {
$nyear = $c_year = substr($week_first,0,4);
$nmonth = $c_month = substr($week_first,5,2);
$nday = $c_day = substr($week_first,8,2);
if($c_day <= 1 ) {
if($nmonth <= 1) {$c_year--; $c_month=12;}
else $c_month--;
$c_day = end_day($c_year,$c_month);
} else $c_day--;
} else if($switch=="next") {
$nyear = $c_year = substr($week_last,0,4);
$nmonth = $c_month = substr($week_last,5,2);
$nday = $c_day = substr($week_last,8,2);
if($c_day >= end_day($nyear,$c_month)) {
if($nmonth >= 12) {$c_year++; $c_month=1;}
else $c_month++;
$c_day=1;
} else $c_day++;
} else {
$c_year=date('Y',time());
$c_month=date('m',time());
$c_day=date('d',time());
}
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$c_month).'&nday='.sprintf("%02d",$c_day);
}
function conv_day($switch) {
global $nyear, $nmonth, $nday;
$c_year = $nyear;
$c_month = $nmonth;
$c_day = $nday;
if($switch=="prev") {
if($c_day <= 1 ) {
if($nmonth <= 1) {$c_year--; $c_month=12;}
else $c_month--;
$c_day = end_day($c_year,$c_month);
} else $c_day--;
} else if($switch=="next") {
if($c_day >= end_day($nyear,$c_month)) {
if($nmonth >= 12) {$c_year++; $c_month=1;}
else $c_month++;
$c_day=1;
} else $c_day++;
} else {
$c_year=date('Y',time());
$c_month=date('m',time());
$c_day=date('d',time());
}
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$c_month).'&nday='.sprintf("%02d",$c_day);
}
// 1일의 위치 구하기
$blank_no=date('w', mktime(0,0,0,$nmonth,1,$nyear));
?>
<table border=0 align=center cellpadding=0 cellspacing=1 bgcolor=#cccccc>
<col style='padding:3px' bgcolor=#FFFFFF width=12 span=7>
<tr bgcolor=#E7E7E7 align=center>
<td><font color=red>일</font>
<td>월
<td>화
<td>수
<td>목
<td>금
<td><font color=blue>토</font>
<tr height=<?=$cell_height?> valign=top>
<?
$colcnt=0; // 칸 카운터
$rowcnt=2; // 줄 카운터
$tmp_sum_day=end_day($nyear,$nmonth)+$blank_no; // 전체 루프 회수
$org_date=date('Ymd',time()); // 오늘 날짜
for($i=1;$i<=$tmp_sum_day;$i++) {
$nday=$i-$blank_no;
$colcnt++;
if($nday>0) {
// 주말, 평일 색상지정
switch(($blank_no+$nday)%7) {
case 0 : $tmp_nday = "<font color=blue>".$nday."</font>"; break; // 토요일
case 1 : $tmp_nday = "<font color=red>".$nday."</font>"; break; // 일요일
default : $tmp_nday = $nday; break; // 평일
}
$now_date=$nyear*10000+$nmonth*100+$nday;
if($org_date==$now_date) $tmp_nday="<b>".$tmp_nday."</b>"; // 오늘날짜 진하게
echo "<td width=$cell_width onMouseOver=\"this.style.backgroundColor='orange';\" onMouseOut=\"this.style.backgroundColor='#FFFFFF';\">"."<a href='?doc=bbs/gnuboard.php&w=&bo_table=$bo_table&nyear=$nyear&nmonth=$nmonth&nday=$nday&mode=day'>".$tmp_nday."</a>\n"; // 날짜 출력
} else echo "<td width=$cell_width bgcolor=#DCDCDC> "; // 공란 출력
if(!($colcnt%7)&&($colcnt < $tmp_sum_day)) { // 줄 바꿈
echo "\n<tr height=$cell_height valign=top>";
$rowcnt++;
}
}
// 줄과 칸 마무리 부분
$td_tail = $colcnt%7;
$tr_tail = $rowcnt%7;
// 줄마무리
if($tr_tail) {
if($td_tail) {
for($i=$td_tail;$i<7;$i++) echo "<td width=$cell_width bgcolor=#DCDCDC> ";
$td_tail=0;
}
if($tr_tail) {
echo"\n<tr height=$cell_height valign=top>";
$tr_tail=0;
}
}
// 칸마무리
if(!$tr_tail) {
for($i=$td_tail;$i<2;$i++) echo "<td bgcolor=#DCDCDC> ";
echo "<td colspan=5 valign=middle style='padding:0px'>\n";
}
// 한계연도 처리 부분
$limit_year=split('~',$limit_year);
if($nyear <= $limit_year[0]){$hide_lyear_start="<!--";$hide_lyear_end="-->";if($nmonth <= 1) {$hide_lmonth_start="<!--";$hide_lmonth_end="-->";}}
if($nyear >= $limit_year[1]){$hide_gyear_start="<!--";$hide_gyear_end="-->";if($nmonth >= 12) {$hide_gmonth_start="<!--";$hide_gmonth_end="-->";}}
?>
</table>
출력하고 싶은곳에
<? include "month.php";?>하시면 됩니다.
//#####################################################
//## 스킨디렉토리에 일정관리+다이어리 최정(하늘비님 스킨버젼) <---이것과 같이 연동되는겁니다.
//## 연동안할시는 날짜링크를 삭제하시면 됩니다.
//#####################################################
$bo_table = "일정관리스킨게시판명";
$cell_width = 20; // 셀 가로 크기
$cell_height = 20; // 셀 세로 크기
이값을 조정해서 테이블 사이즈를 조절가능합니다.
수정버젼으로 함수방식으로 셀가로,세로를 지정하고
해당 일정관리 쓰기모드와 연동 되도록 수정버젼 만들어서 올리겠습니다.
이후 버젼방식
<? month_d('bo_table명',가로폭,세로폭); ?>
//############################################################
//##
//## month.php
//##
//############################################################
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
?>
<!------------------------------------
//####################################
// basic Board Skin : rei
// skin by ⓒⓒⓒ
// msn : oldccc@hotmail.com
// home : http://ccc.na.ly
//
//####################################
-------------------------------------->
<?
$cell_width = 20; // 셀 가로 크기
$cell_height = 20; // 셀 세로 크기
$limit_year = "1971~2037"; // 한계연도
$ttoday = $nday;
// 주어진 날짜가 없으면 현재날짜 구하기
if(!$nyear) $nyear = date('Y',time());
if(!$nmonth) $nmonth = date('m',time());
if(!$nday) $nday = date('d',time());
$tday = date('d',time());
// 기타 함수 정의
function end_day($year,$month){
for($i=28;$i<=32;$i++) {
if(!checkdate($month,$i,$year)) {
return $i-1;
break;
}
}
}
function conv_year($switch) {
global $nyear, $nmonth;
$c_year = $nyear;
if($switch=="prev") $c_year--;
else if($switch=="next") $c_year++;
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$nmonth);
}
function conv_month($switch) {
global $nyear, $nmonth;
$c_year = $nyear;
$c_month = $nmonth;
if($switch=="prev") {
if($nmonth <= 1) {$c_year--; $c_month=12;}
else $c_month--;
} else if($switch=="next") {
if($nmonth >= 12) {$c_year++; $c_month=1;}
else $c_month++;
} else {
$c_year=date('Y',time());
$c_month=date('m',time());
}
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$c_month);
}
function conv_week($switch) {
global $week_first, $week_last ;
if($switch=="prev") {
$nyear = $c_year = substr($week_first,0,4);
$nmonth = $c_month = substr($week_first,5,2);
$nday = $c_day = substr($week_first,8,2);
if($c_day <= 1 ) {
if($nmonth <= 1) {$c_year--; $c_month=12;}
else $c_month--;
$c_day = end_day($c_year,$c_month);
} else $c_day--;
} else if($switch=="next") {
$nyear = $c_year = substr($week_last,0,4);
$nmonth = $c_month = substr($week_last,5,2);
$nday = $c_day = substr($week_last,8,2);
if($c_day >= end_day($nyear,$c_month)) {
if($nmonth >= 12) {$c_year++; $c_month=1;}
else $c_month++;
$c_day=1;
} else $c_day++;
} else {
$c_year=date('Y',time());
$c_month=date('m',time());
$c_day=date('d',time());
}
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$c_month).'&nday='.sprintf("%02d",$c_day);
}
function conv_day($switch) {
global $nyear, $nmonth, $nday;
$c_year = $nyear;
$c_month = $nmonth;
$c_day = $nday;
if($switch=="prev") {
if($c_day <= 1 ) {
if($nmonth <= 1) {$c_year--; $c_month=12;}
else $c_month--;
$c_day = end_day($c_year,$c_month);
} else $c_day--;
} else if($switch=="next") {
if($c_day >= end_day($nyear,$c_month)) {
if($nmonth >= 12) {$c_year++; $c_month=1;}
else $c_month++;
$c_day=1;
} else $c_day++;
} else {
$c_year=date('Y',time());
$c_month=date('m',time());
$c_day=date('d',time());
}
echo '&nyear='.$c_year.'&nmonth='.sprintf("%02d",$c_month).'&nday='.sprintf("%02d",$c_day);
}
// 1일의 위치 구하기
$blank_no=date('w', mktime(0,0,0,$nmonth,1,$nyear));
?>
<table border=0 align=center cellpadding=0 cellspacing=1 bgcolor=#cccccc>
<col style='padding:3px' bgcolor=#FFFFFF width=12 span=7>
<tr bgcolor=#E7E7E7 align=center>
<td><font color=red>일</font>
<td>월
<td>화
<td>수
<td>목
<td>금
<td><font color=blue>토</font>
<tr height=<?=$cell_height?> valign=top>
<?
$colcnt=0; // 칸 카운터
$rowcnt=2; // 줄 카운터
$tmp_sum_day=end_day($nyear,$nmonth)+$blank_no; // 전체 루프 회수
$org_date=date('Ymd',time()); // 오늘 날짜
for($i=1;$i<=$tmp_sum_day;$i++) {
$nday=$i-$blank_no;
$colcnt++;
if($nday>0) {
// 주말, 평일 색상지정
switch(($blank_no+$nday)%7) {
case 0 : $tmp_nday = "<font color=blue>".$nday."</font>"; break; // 토요일
case 1 : $tmp_nday = "<font color=red>".$nday."</font>"; break; // 일요일
default : $tmp_nday = $nday; break; // 평일
}
$now_date=$nyear*10000+$nmonth*100+$nday;
if($org_date==$now_date) $tmp_nday="<b>".$tmp_nday."</b>"; // 오늘날짜 진하게
echo "<td width=$cell_width onMouseOver=\"this.style.backgroundColor='orange';\" onMouseOut=\"this.style.backgroundColor='#FFFFFF';\">"."<a href='?doc=bbs/gnuboard.php&w=&bo_table=$bo_table&nyear=$nyear&nmonth=$nmonth&nday=$nday&mode=day'>".$tmp_nday."</a>\n"; // 날짜 출력
} else echo "<td width=$cell_width bgcolor=#DCDCDC> "; // 공란 출력
if(!($colcnt%7)&&($colcnt < $tmp_sum_day)) { // 줄 바꿈
echo "\n<tr height=$cell_height valign=top>";
$rowcnt++;
}
}
// 줄과 칸 마무리 부분
$td_tail = $colcnt%7;
$tr_tail = $rowcnt%7;
// 줄마무리
if($tr_tail) {
if($td_tail) {
for($i=$td_tail;$i<7;$i++) echo "<td width=$cell_width bgcolor=#DCDCDC> ";
$td_tail=0;
}
if($tr_tail) {
echo"\n<tr height=$cell_height valign=top>";
$tr_tail=0;
}
}
// 칸마무리
if(!$tr_tail) {
for($i=$td_tail;$i<2;$i++) echo "<td bgcolor=#DCDCDC> ";
echo "<td colspan=5 valign=middle style='padding:0px'>\n";
}
// 한계연도 처리 부분
$limit_year=split('~',$limit_year);
if($nyear <= $limit_year[0]){$hide_lyear_start="<!--";$hide_lyear_end="-->";if($nmonth <= 1) {$hide_lmonth_start="<!--";$hide_lmonth_end="-->";}}
if($nyear >= $limit_year[1]){$hide_gyear_start="<!--";$hide_gyear_end="-->";if($nmonth >= 12) {$hide_gmonth_start="<!--";$hide_gmonth_end="-->";}}
?>
</table>
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 12개
잘 사용하고 있는데요,....
날짜를 누르면 해당 일정관리 게시판으로 가는데요
날짜 누르면 그 날짜의 내용이 보여지게 하려면 어떻게 해야 하나요
저만 안되는건가요??? 참고로 저는 하늘비님 스킨이 아니라
다른 일정관리 게시판입니다
다른 방법을 찾아 봤지만.. 제 실력으론.. ^^;
다른 스킨하고는 괜찮은데.. 답사 겔러리 하고만 쫑 나네요..
근데 이것을 투명으로 하면 마우스오버에서만 날자칸의 색이 변하게 하려면 어떻게 해야 하는가요?
소스에서 마우스아웃을 지우면 마우스오버색이 그대로 남는군요.
감격스럽네요...
다시 한번 고맙습니다....^^
$bo_table = "일정관리스킨게시판명"; ----->요부분을 넣으시면 됩니다...^^(상단에 있죠)
$cell_width = 20; // 셀 가로 크기
$cell_height = 20; // 셀 세로 크기
근데..날짜링크를 누르니..테이블값이넘어오지아니한다고..경고창이뜨네요..
좋은 소스입니다............... 차후 수정버젼이 더욱 기대되는군요............
감사합니다.............^^