고수님들 달력에대해 질문있습니다. > 그누4 질문답변

그누4 질문답변

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

고수님들 달력에대해 질문있습니다. 정보

고수님들 달력에대해 질문있습니다.

첨부파일

reserve2.zip (257.6K) 2회 다운로드 2011-06-26 06:23:52

본문

예약프로그램을 스킨다운받아서 쓰고있는데 이 스킨은 주말중 일요일만 예약할 수 없게 한건데요 일요일도 예약가능하게 할려면 어떻게 소스를 변경해야할까요?

<?
include_once("./_common.php");

if (!function_exists("get_first_day")) {
    // 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 get_first_day($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;
    }
}

if ($_GET['param2'])
{
$schedule_ym = $_GET['param2'];
unset($param2);
}

// 오늘
$today = getdate($g4[server_time]);

$year  = (int)substr($schedule_ym, 0, 4);
$month = (int)substr($schedule_ym, 4, 2);
if ($year  < 1)                $year  = $today[year];
if ($month < 1 || $month > 12) $month = $today[mon];
$current_ym = sprintf("%04d%02d", $year, $month);
$current_ym2 = sprintf("%04d-%02d", $year, $month);

$end_day = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $year%4 == 0 && $year%100 != 0 || $year%400 == 0 )
    $end_day[2] = 29; // 조건에 적합할 경우 28을 29로 변경

// 해당월의 1일을 mktime으로 변경
$mktime = mktime(0,0,0,$month,1,$year);
$mkdate = getdate(strtotime(date("Y-m-1", $mktime)));

// 1일의 첫번째 요일 (0:일, 1:월 ... 6:토)
$first_day = get_first_day($year, $month);
// 해당월의 마지막 날짜,
$last_day  = $end_day[$month];

if ($month - 1 < 1) {
    $before_ym = sprintf("%04d%02d", ($year-1), 12);
$before_m = sprintf("%02d", 12);
} else {
    $before_ym = sprintf("%04d%02d", $year, ($month-1));
$before_m = sprintf("%02d", $month-1);
}

if ($month + 1 > 12) {
    $after_ym  = sprintf("%04d%02d", ($year+1), 1);
$after_m  = sprintf("%02d", 1);
} else {
    $after_ym  = sprintf("%04d%02d", $year, ($month+1));
$after_m  = sprintf("%02d", $month+1);
}
?>
<table width="213" cellpadding="0" cellspacing="0">
<tr>
<td height="31" colspan="7" align="center" bgcolor="#ffffff">

<a href="#" onClick="calendarSelectMonth('<?=$before_ym?>');calendarListChange();" onfocus="blur();"><img src="/images/reserve/calen_prev.gif" align="absmiddle" border="0" /> <?=$before_m?></a>
&nbsp;&nbsp;&nbsp;
<B><?=$year?>/<?=$month?></B>
&nbsp;&nbsp;&nbsp;
<a href="#" onClick="calendarSelectMonth('<?=$after_ym?>');calendarListChange();" onfocus="blur();"><?=$after_m?> <img src="/images/reserve/calen_next.gif" align="absmiddle" border="0" /></a></span></td>
</tr>
<tr>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_sun.gif" /></td>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_mon.gif" /></td>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_tue.gif" /></td>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_wed.gif" /></td>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_thu.gif" /></td>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_fri.gif" /></td>
<td align='center' bgcolor="#ffffff"><img src="/images/reserve/date_sat.gif" /></td>
</tr>
<?
$cnt = 0;
$day = 0;
for ($i=0; $i<6; $i++) {
    echo "<tr>";
    for ($k=0; $k<7; $k++) {
        $cnt++;

// 오늘이라면
if ($today[year] == $year && $today[mon] == $month && $today[mday] == ($day+1))
{
$bgcolor = "#E8F3F9";
}
else {
// 올해
if ($today[year] == $year)
{
// 이번달이면
if ($today[mon] == $month)
{
// 오늘부터 마지막 날까지만 예약가능
if ($today[mday] <= ($day+1) && $last_day >= ($day+1))
{
$bgcolor = "#E1E5FF";
}
else $bgcolor = "#FFFFFF";
}
// 이번달 이후면 첫날부터 마지막 날까지
else if ($today[mon] < $month && $cnt > $first_day && ($day+1) <= $last_day)
{
$bgcolor = "#E1E5FF";
}
else
{
$bgcolor = "#FFFFFF";
}
}
// 올해 이후면 첫날부터 마지막 날까지
else if ($today[year] < $year && $cnt > $first_day && ($day+1) <= $last_day)
{
$bgcolor = "#E1E5FF";
}
else
{
$bgcolor = "#FFFFFF";
}
}

if ($k == 0) $bgcolor = "#FFFFFF";

        echo "<td bgcolor='{$bgcolor}' onClick='' align='center' height='20'>";
        if ($cnt > $first_day) {
            $day++;
            if ($day <= $last_day) {

                $current_ymd = $current_ym . sprintf("%02d", $day);
                $current_ymd2 = $current_ym2 . "-" . sprintf("%02d", $day);

if ($bgcolor == "#E1E5FF") echo "<a href=\"javascript:calendarSelectTimeListChange('{$current_ymd2}');\">";
                echo $day;
if ($bgcolor == "#E1E5FF") echo "</a>";

               
            } else {
                echo "&nbsp;";
            }
        } else {
            echo "&nbsp;";
        }
        echo "</td>";
    }
    echo "</tr>\n";
    if ($day >= $last_day)
        break;
}

?>
            </table>
            </div>

현재 테스트중인 사이트입니다.

http://igaonnuri.com/reserve/reserv_ok.html

그리고 utf파일을 euc로 변환했고 혹시나 해서 에디트플러스에서 ansi로 다시저장까지했는데 글짜가 깨져서 한글을 없에고 영문으로 했습니다. 어떻게 해야 한글을 쓸수있을까요 답변좀 부탁드리겠습니다. 감사합니다.

댓글 전체

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

회원로그인

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