캘린더 질문입니다. 공휴일 표기문제
본문
일정 관리하는 캘린더 소스에 공휴일 표기를 하고 싶은데 혹시 이 소스에 넣는게 가능할지 여쭤봅니다..
소스입니다.
<?php
require_once './_common.php';
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$ProgrameController = &Loader::instance()->loadController('program_Program');
$sy = Request::both('sy', date('Y'));
$sm = Request::both('sm', date('m'));
$op = Request::both('op', false);
if($op == 'prev'){
list($sy, $sm) = explode('-', date('Y-m', mktime(0,0,0, $sm -1 , 1, $sy)));
}else if($op == 'next'){
list($sy, $sm) = explode('-', date('Y-m', mktime(0,0,0, $sm +1 , 1, $sy)));
}
$calendar = $ProgrameController->getProgramCalendar($sy, $sm);
$calendar = array_chunk($calendar, 7);
?>
<style>
.ct td p { display:inline-block;}
.ct td span { display:inline-block; font-size:13px; margin-left:3px; color:red}
</style>
<div id="calendar"></div>
<div style="display:none;">
<input type="hidden" name="sy" value="<?=$sy?>" />
<input type="hidden" name="sm" value="<?=$sm?>" />
</div>
<table class="ct">
<caption>캘린더</caption>
<thead>
<tr>
<th scope="row">일</th><th scope="row">월</th><th scope="row">화</th><th scope="row">수</th><th scope="row">목</th><th scope="row">금</th><th scope="row">토</th>
</tr>
</thead>
<tbody>
<? foreach($calendar as $k => $w_row):?>
<tr>
<? foreach($w_row as $k2 => $row):?>
<? if($row['month'] == $sm):?>
<td class="ct_day">
<p><?=$row['day']?></p>
<span><?php echo $annivday[$iday] ?></span>
<div class="ct_skd">
<? if(checkForeach($row['schedule'])):?>
<?
// $row['schedule'] = array_reverse($row['schedule']);
$schedule = array_pop($row['schedule']);
?>
<div class="ct_skd_smy schedule-td">
<ul>
<li class="legend_2 full-text">
<?=$schedule['pi_title']?>
</li>
</ul>
<? if(trim(strip_tags($schedule['pi_contents']))):?>
<div class="ct_skd_list">
<?=nl2br($schedule['pi_contents']);?>
</div>
<? endif;?>
</div>
<? endif;?>
<? if(checkForeach($row['schedule'])):?>
<?
// $row['schedule'] = array_reverse($row['schedule']);
$schedule = array_pop($row['schedule']);
?>
<div class="ct_skd_smy schedule-td">
<ul>
<li class="legend_2 full-text">
<?=$schedule['pi_title']?>
</li>
</ul>
<? if(trim(strip_tags($schedule['pi_contents']))):?>
<div class="ct_skd_list2">
<?=nl2br($schedule['pi_contents']);?>
</div>
<? endif;?>
</div>
<? endif;?>
<? if(checkForeach($row['report'])):?>
<div class="ct_skd_smy">
<ul>
<li class="legend_2">
<a href="<?=$row['report'][0]['pi_report_url']?>" class="t-primary">
회의록
</a>
</li>
</ul>
</div>
<? endif;?>
<? if(checkForeach($row['list'])):?>
<? foreach($row['list'] as $k3 => $pro):?>
<a href="/contents/reserve/view.php?seq=<?=$pro['pi_seq']?>&t=<?=$row['time']?>" class="ct_skd_btn">
신청하기
</a>
<? endforeach;?>
<? endif;?>
</div>
</td>
<? else:?>
<td> </td>
<? endif;?>
<? endforeach;?>
</tr>
<? endforeach;?>
</tbody>
</table>
<script>
$(document).on('click', '.schedule-td', function(){
$('.schedule-td').removeClass('focus');
$(this).addClass('focus');
});
</script>
답변 1
api 가 존재 합니다. 나라에서 제공해주는...무료구요..
해당 api에서 가져온 데이터(날짜값) 과 캘린더 만드신 날짜값을 비교해서 동일하면 빨간색으로 처리 해주시면 됩니다.