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]) 으로 변경해야 합니다.
                
                    감사합니다. 다른 스킨도 되더군요!^^                
                
                
            
                    
                
                    이런 스킨까지... 감사합니다                
                
                
            
                    
                
                    월척이네요                
                
                
            
                    
                
                    정말 좋은 팁입니다. 감사합니다