Photofly 님의 달력형 일정관리스킨에 양음력기념일 자동출력하기 정보
Photofly 님의 달력형 일정관리스킨에 양음력기념일 자동출력하기첨부파일
본문
1. 붙임파일 moonday.php와 anniversary.cgi 파일을 스킨디렉토리에 업로드한다.
* anniversary.cgi 파일은 기념일등을 입력하는 파일로서 입력방법은
s|03|01|삼일절|h| 와 같이
s(양력) 또는 l(음력) | 03(월) | 01(일) | 삼일절(출력할 기념일명) | h(공휴일) 또는 공란 |
2. 스킨디렉토리의 list.skin.php 를 열어 맨 윗부분 <? 의 아래에 다음의 내용을 추가한다.
include("$board_skin_path/moonday.php");
function printann($yy,$mm,$dd)
{
global $board_skin_path;
$year = $yy;
$month = $mm;
$day = $dd;
$myarray1 = soltolun($year,$month,$day);
$file_name="anniversary.cgi";
$farray=file($board_skin_path."/".$file_name);
$ann ="";
for($i=0; $i<count($farray); $i++)
{
$part = explode("|",$farray[$i]);
if($part[0]==s)
{
if($month==$part[1] && $day==$part[2])
{
$ann=$part[3];
}
}
else
{
if($myarray1[month]==$part[1] && $myarray1[day]==$part[2] && $myarray1[leap] !="*")
{
$ann=$part[3];
}
}
}
return $ann;
}
3. 스킨디렉토리의 list.skin.php 아랫부분의 날짜를 출력하는 부분을 아래와 같이 변경한다.
<변경전>
if ($write_href) {
// $write_href (글쓰기 권한)이 있으면
// 날짜에 누르면 글씨쓰기가 가능한 링크를 넣어서 출력하기
$f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
echo " <a href='$write_href&f_date=$f_date&t_date=$f_date'>$daytext</a>\n";
}
<변경후>
if ($write_href) {
// $write_href (글쓰기 권한)이 있으면
// 날짜에 누르면 글씨쓰기가 가능한 링크를 넣어서 출력하기
$f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
echo " <a href='$write_href&f_date=$f_date&t_date=$f_date'>$daytext</a>\n";
// 음력출력
$myarray = soltolun($year,$month,$cday);
echo("(".$myarray[month].".".$myarray[day].")");
// 기념일(anniversary.cgi) 출력
$ann = printann($year,$month,$cday);
echo($ann);
}
* anniversary.cgi 파일은 기념일등을 입력하는 파일로서 입력방법은
s|03|01|삼일절|h| 와 같이
s(양력) 또는 l(음력) | 03(월) | 01(일) | 삼일절(출력할 기념일명) | h(공휴일) 또는 공란 |
2. 스킨디렉토리의 list.skin.php 를 열어 맨 윗부분 <? 의 아래에 다음의 내용을 추가한다.
include("$board_skin_path/moonday.php");
function printann($yy,$mm,$dd)
{
global $board_skin_path;
$year = $yy;
$month = $mm;
$day = $dd;
$myarray1 = soltolun($year,$month,$day);
$file_name="anniversary.cgi";
$farray=file($board_skin_path."/".$file_name);
$ann ="";
for($i=0; $i<count($farray); $i++)
{
$part = explode("|",$farray[$i]);
if($part[0]==s)
{
if($month==$part[1] && $day==$part[2])
{
$ann=$part[3];
}
}
else
{
if($myarray1[month]==$part[1] && $myarray1[day]==$part[2] && $myarray1[leap] !="*")
{
$ann=$part[3];
}
}
}
return $ann;
}
3. 스킨디렉토리의 list.skin.php 아랫부분의 날짜를 출력하는 부분을 아래와 같이 변경한다.
<변경전>
if ($write_href) {
// $write_href (글쓰기 권한)이 있으면
// 날짜에 누르면 글씨쓰기가 가능한 링크를 넣어서 출력하기
$f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
echo " <a href='$write_href&f_date=$f_date&t_date=$f_date'>$daytext</a>\n";
}
<변경후>
if ($write_href) {
// $write_href (글쓰기 권한)이 있으면
// 날짜에 누르면 글씨쓰기가 가능한 링크를 넣어서 출력하기
$f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
echo " <a href='$write_href&f_date=$f_date&t_date=$f_date'>$daytext</a>\n";
// 음력출력
$myarray = soltolun($year,$month,$cday);
echo("(".$myarray[month].".".$myarray[day].")");
// 기념일(anniversary.cgi) 출력
$ann = printann($year,$month,$cday);
echo($ann);
}
추천
0
0
댓글 7개
공휴일을 빨간 글씨로 표시하려면
1) 추가한 함수 function printann($yy,$mm,$dd) 를 아래와 같이 변경하고
function printann($yy,$mm,$dd) // 기념일 출력, 공휴일 체크
{
global $board_skin_path;
$year = $yy;
$month = $mm;
$day = $dd;
$myarray1 = soltolun($year,$month,$day);
$file_name="anniversary.cgi";
$farray=file($board_skin_path."/".$file_name);
$ann ="";
for($i=0; $i<count($farray); $i++)
{
$part = explode("|",$farray[$i]);
if($part[0]==s)
{
if($month==$part[1] && $day==$part[2])
{
$ann[0]=$part[3];
$ann[1]=$part[4];
}
}
else
{
if($myarray1[month]==$part[1] && $myarray1[day]==$part[2] && $myarray1[leap] !="*")
{
$ann[0]=$part[3];
$ann[1]=$part[4];
}
}
}
return $ann;
}
2) 기존 list.skin.php 내용중
if ($iz%7 == 1) $daytext = "<font color=red>$daytext</font>"; // 일요일
if ($iz%7 == 0) $daytext = "<font color=orange>$daytext</font>"; // 토요일
의 내용 아래에 다음의 내용을 추가한 후
$ann = printann($year,$month,$cday);
if($ann[1]==h) $daytext = "<font color=red>$daytext</font>"; // 공휴일
3. 아랫부분에 추가하였던 $ann = printann($year,$month,$cday); 을 삭제합니다.
1) 추가한 함수 function printann($yy,$mm,$dd) 를 아래와 같이 변경하고
function printann($yy,$mm,$dd) // 기념일 출력, 공휴일 체크
{
global $board_skin_path;
$year = $yy;
$month = $mm;
$day = $dd;
$myarray1 = soltolun($year,$month,$day);
$file_name="anniversary.cgi";
$farray=file($board_skin_path."/".$file_name);
$ann ="";
for($i=0; $i<count($farray); $i++)
{
$part = explode("|",$farray[$i]);
if($part[0]==s)
{
if($month==$part[1] && $day==$part[2])
{
$ann[0]=$part[3];
$ann[1]=$part[4];
}
}
else
{
if($myarray1[month]==$part[1] && $myarray1[day]==$part[2] && $myarray1[leap] !="*")
{
$ann[0]=$part[3];
$ann[1]=$part[4];
}
}
}
return $ann;
}
2) 기존 list.skin.php 내용중
if ($iz%7 == 1) $daytext = "<font color=red>$daytext</font>"; // 일요일
if ($iz%7 == 0) $daytext = "<font color=orange>$daytext</font>"; // 토요일
의 내용 아래에 다음의 내용을 추가한 후
$ann = printann($year,$month,$cday);
if($ann[1]==h) $daytext = "<font color=red>$daytext</font>"; // 공휴일
3. 아랫부분에 추가하였던 $ann = printann($year,$month,$cday); 을 삭제합니다.
위처럼 적용했더니 . 기념일 글자가 array로 표시됩니다.
제가 무식해서 .
제가 무식해서 .
// 기념일(anniversary.cgi) 출력
echo($ann); 을 echo($ann[0]) 으로 변경해야 합니다.
echo($ann); 을 echo($ann[0]) 으로 변경해야 합니다.
감사합니다. 다른 스킨도 되더군요!^^
이런 스킨까지... 감사합니다
월척이네요
정말 좋은 팁입니다. 감사합니다