예약 (달력) 게시판 토요일 선택 비활성화(제외) 방법

예약 (달력) 게시판 토요일 선택 비활성화(제외) 방법

QA

예약 (달력) 게시판 토요일 선택 비활성화(제외) 방법

본문

안녕하세요.

 

예약 (달력) 게시판 https://sir.kr/g5_skin/16675 에서 토요일은 클릭되지 않도록 할 수 있는 방법이 궁금합니다.

 

 

cal.php 파일소스

 

<?php
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );

$board_skin_path = $_SERVER["DOCUMENT_ROOT"]."/skin/board/reserve_calendar";
include_once("$board_skin_path/moonday.php"); // 석봉운님의 음력날짜 함수
$bo_table = $_GET["bo_table"];
$col_height= 80 ;//내용 들어갈 사각공간의 세로길이를 가로 폭과 같도록
$today = getdate();
$today_ymd = date("Ymd",time());
$b_mon = $today['mon'];
$b_day = $today['mday'];
$b_year = $today['year'];
$year = $_GET["year"];
$month = $_GET["month"];
if ($year < 1) { // 오늘의 달력 일때
  $month = $b_mon;
  $mday = $b_day;
  $year = $b_year;
}
if(!$year)  $year = date("Y");
$file_index = $board_skin_path."/day"; ### 기념일 폴더 위치 지정
### 양력 기념일 파일 지정 : 해당년도 파일이 없으면 기본파일(solar.txt)을 불러온다
if(file_exists($file_index."/".$year.".txt")) {
 $dayfile = file($file_index."/".$year.".txt");
} else {
 $dayfile = file($file_index."/solar.txt");
}
$lastday=array(0,31,28,31,30,31,30,31,31,30,31,30,31);
if ($year%4 == 0) $lastday[2] = 29;
$dayoftheweek = date("w", mktime (0,0,0,$month,1,$year)); 
?>

<div class="schedule">
    <div class="tit_month">
     <span class="btn_before">
      <!-- <a href="<?php echo $_SERVER["PHP_SELF"]."?bo_table=".$bo_table."&"; ?><?php if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} echo ("year=$year_pre&month=$month_pre");?>">왼쪽</a> -->
      <a href="javascript:void(0);" onclick="<?php if ($month == 1) { $year_pre=$year-1; $month_pre=12; } else {$year_pre=$year; $month_pre=$month-1;} ?>javascript:getCal('<?php echo $year_pre?>','<?php echo $month_pre?>');">왼쪽</a>
     </span>
     <span class="year_text">
      <!-- <a href="<?php echo $_SERVER["PHP_SELF"]."?bo_table=".$bo_table; ?>" title="오늘로"><?php echo "$year.  ".sprintf("%02d",$month); ?></a> -->
      <a href="javascript:void(0);" title="오늘로" onclick="javascript:getCal('<?php echo date("Y",time())?>','<?php echo date("n",time())?>');"><?php echo "$year.  ".sprintf("%02d",$month); ?></a>
     </span>
     <span class="btn_next">
      <!-- <a href="<?php echo $_SERVER["PHP_SELF"]."?bo_table=".$bo_table."&"; ?><?php if ($month == 12) { $year_pre=$year+1; $month_pre=1; } else {$year_pre=$year; $month_pre=$month+1;} echo ("year=$year_pre&month=$month_pre");?>">오른쪽</a> -->
      <a href="javascript:void(0);" onclick="<?php if ($month == 12) { $year_pre=$year+1; $month_pre=1; } else {$year_pre=$year; $month_pre=$month+1;} ?>javascript:getCal('<?php echo $year_pre?>','<?php echo $month_pre?>');">오른쪽</a>
     </span>
    </div>
    <table class="sche_table" border="0" summary="예약">
     <thead>
      <tr>
       <th scope="col">일</th>
       <th scope="col">월</th>
       <th scope="col">화</th>
       <th scope="col">수</th>
       <th scope="col">목</th>
       <th scope="col">금</th>
       <th scope="col" class="last">토</th>
      </tr>
     </thead>
     <tbody>
<?php
 // 달력의 틀을 보여주는 부분
 $cday = 1;
 $temp = 7 - (($lastday[$month]+$dayoftheweek)%7);
 if ($temp == 7) $temp = 0;
  $lastcount = $lastday[$month]+$dayoftheweek + $temp;
 for ($iz = 1; $iz <= $lastcount; $iz++)
 {
  $bgcolor = "#ffffff";  // 쭉 흰색으로 칠하고
  if ($b_year==$year && $b_mon==$month && $b_day==$cday) {
   $bgcolor = "#DEFADE";      //  "#DFFDDF"; // 오늘날짜 연두색으로 표기
  }
  if (($iz%7) == 1) {
   echo ("<tr>"); // 주당 7개씩 한쎌씩을 쌓는다.
  }
  if ($dayoftheweek < $iz  &&  $iz <= $lastday[$month]+$dayoftheweek) {
   
   // 전체 루프안에서 숫자가 들어가는 셀들만 해당됨
   // 즉 11월 달에서 1일부터 30 일까지만 해당
   
   $daytext = "$cday";   // $cday 는 숫자 예> 11월달은 1~ 30일 까지
   $yes_cls = "yes";
   //$daytext 은 셀에 써질 날짜 숫자 넣을 공간
   $daycontcolor = "" ;
   $daycolor = "";
   
   $td_last = "";
   if ($iz%7 == 1) {
    $daycolor = "red"; // 일요일
   }
   if ($iz%7 == 0) {
    $daycolor = "blue"; // 토요일
    $td_last = "last";
   }
   $f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
   // 기념일 파일 내용 비교위한 변수 선언, 월과 일을 두자리 포맷으로 고정
   if (strlen($month) == 1) {
    $monthp = "0".$month ;
   } else {
    $monthp = $month ;
   }
   if (strlen($cday) == 1) {
    $cdayp = "0".$cday ;
   }
   else {
    $cdayp = $cday ;
   }
   $memday = $year.$monthp.$cdayp;
   $daycont = "" ;
   // 기념일(양력) 표시
   for($i=0 ; $i < sizeof($dayfile) ; $i++) {  // 파일 첫 행부터 끝행까지 루프
    $arrDay = explode("|", $dayfile[$i]);
    if($memday == $year.$arrDay[0]) {
     $daycont = $arrDay[1];
     $daycontcolor = $arrDay[2];
     if(substr($arrDay[2],0,3)=="red") $daycolor = "red"; // 공휴일은 날짜를 빨간색으로 표시
    }
   }
   // 석봉운님의 음력날짜 변수선언
   $myarray = soltolun($year,$month,$cday);
  
   // 음력 절기 파일, 기념일 추가시 else if 구문 복사해서 사용하세요. 한자리 날짜는 한자리로 써야 합니다.
   if ( $myarray["month"].'/'.$myarray["day"]=="12/30" ) { // 설연휴
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="1/1" ) { // 설날
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="1/2" ) { // 설연휴
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="4/8" ) { // 석가탄신일
    $daycolor="red";
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="8/14" ) { // 추석연휴
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="8/15" ) { // 추석
    $daycolor="red" ;
   }
   else if ( $myarray["month"].'/'.$myarray["day"]=="8/16" ) { // 추석연휴
    $daycolor="red" ;
   }
   else {
    $annivmoonday="" ;
   }
   if ($annivmoonday&&$daycont) {
//    $blank="<br />"; // 음력절기와 양력기념일이 동시에 있으면 한칸 띔
   }
   else {
    $blank="";
   }
   if($daycolor == "red") {
    $yes_cls = "red";
   }
  
   if($today_ymd > $f_date) {
    $yes_cls = "";
   }

   // 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고
   // 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.
   echo "<td class='$td_last $yes_cls {curr_date:\"$f_date\"}'>";
   echo "$daytext $moonday";
   echo $html_day[$cday];
   echo ("</td>");  // 한칸을 마무리
   $cday++; // 날짜를 카운팅
  }
  // 유효날짜가 아니면 그냥 회색을 칠한다.
  else {
   echo ("     <td> </td>");
  }
  if (($iz%7) == 0) {
   echo ("  </tr>");
  }
 }
?>
     </tbody>
    </table>
    <div class="date_ok yeardate">
     <span class="date_choice year_class"></span><span>을 선택하셨습니다.</span>
    </div>
   </div>
 

 

 

 

time.php 파일소스


<?php
error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );
include_once('./_common.php');
$currdate = $_GET["currdate"];

$nowdate = date("Ymd",time());
$day_type = date("N",strtotime($currdate)); // 1~5 평일, 6 토요일
//echo $k2 = substr($bb,6, 6);
$time_array[1] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30");
$time_array[2] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30","오후 19:00","오후 19:30","오후 20:00","오후 20:30");
$time_array[3] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30");
$time_array[4] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30","오후 19:00","오후 19:30","오후 20:00","오후 20:30");
$time_array[5] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30","오후 17:00","오후 17:30","오후 18:00","오후 18:30");
$time_array[6] = array("오전 10:30","오전 11:00","오전 11:30","오후 12:00","오후 12:30","오후 14:00","오후 14:30","오후 15:00","오후 15:30","오후 16:00","오후 16:30");

$now_hour = date("H:i",time());
 
$query = "select * from g5_write_res WHERE wr_1='".$currdate."' ";
$result = sql_query($query);
$a = array();
for($i=0;$row=sql_fetch_array($result);$i++){ $a[$i]=$row['wr_2']; }

$admin_write1 = sql_fetch(" select count(*) as cnt from g5_write_res where wr_1='".$currdate."'  ");
$total = count($time_array[$day_type]) - $admin_write1['cnt'];
?>
 
<div class="schedule">
 <div class="time">
  <div class="time_list" id="time_list">
   <ul class="bu4" id="time_list2">
<?php
$sym_diff = array_values(array_diff(array_merge($time_array[$day_type], $a), array_intersect($time_array[$day_type], $a)));
for($i=0; $i<$total; $i++){
$reservation_yn = "N";
$aaa = $sym_diff[$i];
$k2 = substr($aaa,6, 6);
$now = date("H:i");
$k2 = str_replace(':','',$k2);
$now =  str_replace(':','',$now);
  $v_strtotime = strtotime($currdate.$k2);
  $now_strtotime = strtotime($nowdate.$now);
  
  if ($v_strtotime > $now_strtotime )
  {
   $reservation_yn = "Y";
  }
?>

 <li class="time_cls {currtime:'<?php echo $aaa?>',reservation_yn:'<?php echo $reservation_yn?>'}"><a href="javascript:void(0);" class="showme"><?php echo $aaa?> <?php echo $reservation_yn=="Y"?"(예약가능)":"(예약불가)"?></a></li>

<?} ?>
   <li> </li>
   </ul>
  </div>
 </div>
</div>
<div class="date_ok timedate">
 <span class="date_choice time_class"></span><span>을 선택하셨습니다.</span>
</div>

 

감사합니다.

이 질문에 댓글 쓰기 :

답변 1


if($daycolor == "red") {
 $yes_cls = "red";
}

이 부분을 아래와 같이 수정하시면 됩니다.


if($daycolor == "red" || $daycolor == "blue") {
 $yes_cls = $daycolor;
}
답변을 작성하시기 전에 로그인 해주세요.
전체 139
QA 내용 검색

회원로그인

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