|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /var/www/html/pathumthani_eoffice/application/event_calendar/public/ |
Upload File : |
<link href="../libary/style.css" rel="stylesheet" type="text/css">
<?php
function add_zero($temp)
{
$num_chk = strlen($temp);
if($num_chk == 1) {
$rnum = "0".$temp;
} else {
$rnum = $temp;
}
return $rnum;
}
$jump = $_GET["jump"];
if($jump != ""){
$df = explode("/", $jump);
$today = $df[0];
$dfMonth = $df[1];
$dfYear = $df[2];
}
/* ฟังก์ชั่น LastDay() ใช้สำหรับหาวันที่สุดท้ายของเดือน/ปีที่ระบุ หรือกล่าวอีกนัยหนึ่งคือหาว่าเดือน/ปีที่ระบุนั้นมีกี่วัน */
function LastDay($m, $y) {
for ($i=29; $i<=32; $i++) { if(checkdate($m, $i, $y) == 0) { return $i - 1; } }
}
/* $diffHour และ $diffMinute คือตัวแปรที่ใช้เก็บจำนวนชั่วโมงและจำนวนนาทีที่ แตกต่างกันระหว่างเครื่องไคลเอนต์กับเครื่องเซิร์ฟเวอร์ ตามลำดับ เช่นถ้าเวลาของ
เครื่องไคลเอ็นต์เร็วกว่าเวลาของเครื่องเซิร์ฟเวอร์ 11 ชั่วโมง 15 นาที ก็ให้กำหนด $diffHour เป็น 11 และกำหนด $diffMinute เป็น 15 ในที่นี้ผู้เขียนถือว่า
เครื่องเซิร์ฟเวอร์กับเครื่องไคลเอ็นต์มีเวลาตรงกัน */
$diffHour = 0;
$diffMinute = 0;
//echo date("Y-m-d");
if ($dfMonth == "") {
$calTime = getdate(date(mktime(date("H") + $diffHour, date("i") + $diffMinute)));
//echo "<pre>";
//print_r($calTime);
$today = $calTime["mday"]; //วันที่
$month = $calTime["mon"]; //เดือน
$year = $calTime["year"]; //ปี
} else {
/* กรณีที่ระบุให้แสดงปฏิทินของเดือน/ปีหนึ่งๆนั้น จะมีการส่งตัวแปร $today, $dfMonth และ $dfYear ผ่านมาทาง query string ด้วย */
if ($dfMonth == 0) {
/* ถ้าตัวแปร $dfMonth เป็น 0 เราจะแสดงปฏิทินของเดือนธันวาคมของปีที่น้อย กว่าปีที่กำลังแสดงอยู่ */
$dfMonth = 12;
$dfYear = $dfYear - 1;
} elseif ($dfMonth == 13) {
/* ถ้าตัวแปร $dfMonth เป็น 13 เราจะแสดงปฏิทินของเดือนมกราคมของปีที่มากกว่าปีที่กำลังแสดงอยู่ */
$dfMonth = 1;
$dfYear = $dfYear + 1;
}
//สร้างวัน/เวลาของเดือนและปีที่ผู้ใช้ระบุ เก็บไว้ในตัวแปร $calTime
$calTime = getdate(date(mktime((date("H") + $diffHour), (date("i") + $diffMinute), 0, $dfMonth, $today, $dfYear)));
$today = $calTime["mday"]; //วันที่
$month = $calTime["mon"]; //เดือน
$year = $calTime["year"]; //ปี
}
/* เรียกฟังก์ชั่น LastDay() ซึ่งเป็นฟังก์ชั่นที่เราสร้างขึ้นมาเอง เพื่อหา "จำนวนวัน" ของเดือนและปีที่จะแสดงปฏิทิน โดยเก็บไว้ในตัวแปร $Lday */
$Lday = LastDay($month, $year);
//เก็บ timestamp ของวันที่ 1 ของเดือนที่จะแสดงปฏิทิน ไว้ในตัวแปร $FTime
$FTime = getdate(date(mktime(0, 0, 0, $month, 1, $year)));
//เก็บ "วันในสัปดาห์" (จันทร์, อังคาร ฯลฯ) ของวันที่ 1 ของเดือนไว้ในตัวแปร $wday
$wday = $FTime["wday"];
//สร้างตัวแปรชนิดอาร์เรย์เก็บชื่อเดือนภาษาไทย
$thmonthname = array("มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม");
$month_next = $month + 1 ;
$month_prev = $month - 1 ;
$jump_next = $today."/".$month_next."/".$year;
$jump_prev = $today."/".$month_prev."/".$year;
/*สร้างตัวแปรที่เอาไว้ตรวจสอบวันภายในเดือนที่แสดง ถ้ามีข้อมูลก็ให้ทำ link */
if($today != ""){$sqDay = add_zero($today);}
if($dfMonth != ""){ $sqMonth = add_zero($dfMonth); } else {$sqMonth = add_zero($month);}
if($dfYear != ""){ $sqYear = $dfYear; } else {$sqYear = $year;}
/*Query ข้อมูลจาก Database*/
$sql_chk = $sqYear."-".$sqMonth."-__";
//$sql_dd = "select $cal_table_edate.edate from $cal_table where $cal_table_edate.edate like '$sql_chk' $cal_sql";
$sql_dd = "select $cal_table_edate.edate from $cal_table where $cal_table_edate.edate like '$sql_chk'";
//echo $sql_dd;
$result = mysql_query($sql_dd)or die("Query Line " . __LINE__ . " Error<hr>".mysql_error());
$row = mysql_num_rows($result);
if($row != 0){
while($rs = mysql_fetch_assoc($result)){
$arr = explode("-", $rs[edate]);
$rday = remove_zero($arr[2]);
$arr_day[$rday] = $rday;
}
}
mysql_free_result($result);
$img_l = "../images/left.gif";
if(!file_exists($img_l)) {$img_l = "../images/left.gif"; }
$img_r = "../images/right.gif";
if(!file_exists($img_r)) {$img_r = "images/right.gif"; }
$img_c = "../images/calendar.gif";
if(!file_exists($img_c)) {$img_c = "../images/calendar.gif"; }
?>
<table width="245" border="0" cellpadding="0" cellspacing="0" >
<tr><td bgcolor="#000000">
<table width="245" height="69" border="0" cellpadding="1" cellspacing="1">
<tr align="center" bgcolor="#C1E2F8">
<td width="35" height="23" align="center"><a href="?jump=<?=$jump_prev.$cal_kwd?>"><img src="<?=$img_l?>" width="12" height="12" border="0"></a></td>
<td height="19" colspan="5" class="normal_blue" align="center"><?php echo " <font class=blue1>".$thmonthname[$month - 1]."</font> <font class=brown1>".($year + 543)."</font>"; ?></td>
<td width="35" height="23" align="center"><a href="?jump=<?=$jump_next.$cal_kwd?>"><img src="<?=$img_r?>" width="12" height="12" border="0"></a></td>
<tr>
<tr align="center" bgcolor="#e3e3e3" class="normal_blue" style="font-weight:bold;">
<td width="35" height="23" class="warn">อา</td>
<td width="35" height="23">จ</td>
<td width="35" height="23" >อ</td>
<td width="35" height="23" >พ</td>
<td width="35" height="23" >พฤ</td>
<td width="35" height="23">ศ</td>
<td width="35" height="23" >ส</td>
</tr>
<?php
$iday = 1;
//แสดงแถวแรกของปฏิทิน
//echo $iday." == ".$today;
for ($i=0; $i<=6; $i++) {
if ($i < $wday) { /*แสดงเซลล์ว่างก่อนวันที่ 1 ของเดือน*/
if ($i == 0) { /*กรณีที่เป็นวันอาทิตย์*/ $class ="class=\"warn\""; } else { /*กรณีที่เป็นวันอื่นๆที่ไม่ใช่วันอาทิตย์*/ $class ="class=\"normal\""; }
echo "<td width=\"35\" height=\"23\" align=\"center\" $class bgcolor=\"#FFFFCC\"> </td>\n";
} else {
//แสดงวันที่ในแถวแรกของปฏิทิน
if($iday == $arr_day[$iday]) {
$class = " class=\"brown\" bgcolor=\"#B5D1FF\" style=\"font-weight:bold;\" ";
$class = $class." onClick=\"Showdetail(' $sqYear-$sqMonth-".add_zero($arr_day[$iday])." ' )\"" ;
} elseif($iday == $today) { $class = " class=\"blue\" style=\"font-weight:bold;\""; $link = "n";}
elseif($i == 0 && ($iday != $today)) { /*กรณีที่เป็นวันอาทิตย์ และไม่ใช่วันปัจจุบัน*/ $class ="class=\"warn\""; $link = "n";}
else { $class ="class=\"normal\""; $link = "n";}
if($link == "y"){
$show_event = '<a href="#" class="style1" >'.$iday.'</a>';
} else {
$show_event = $iday ;
}
$data_sql = ""; // ล้างค่าตัวแปรเพื่อเขียนรายการใหม่ในวันถัดไป
echo "<td width=\"35\" height=\"23\" align=\"left\" valign=\"top\" $class bgcolor=\"#FFFFFF\">".$show_event."</td>\n";
$iday++;
}
}
$link = "";
//แสดงแถวที่เหลือของปฏิทิน (หลังจากแสดงแถวแรกไปแล้ว จะเหลืออย่างมาก 5 แถว)
for ($j=0; $j<=4; $j++) {
if ($iday <= $Lday) {
echo "<tr>\n";
for ($i=0; $i<=6; $i++) {
if ($iday <= $Lday) {
if($iday == $arr_day[$iday]) {
$class = " class=\"brown\" bgcolor=\"#B5D1FF\" style=\"font-weight:bold;\" ";
$class = $class." onClick=\"Showdetail(' $sqYear-$sqMonth-".add_zero($arr_day[$iday])." ' )\"" ;
$sql_date = $sqYear."-".$sqMonth."-".add_zero($arr_day[$iday]);
$link = "y";
} elseif($iday == $today) { $class = " class=\"blue\" style=\"font-weight:bold;\""; $link = "n";}
elseif ($i == 0 && ($iday != $today)) { $class = "class=\"warn\""; $link = "n";}
else {$class = "class=\"normal\""; $link = "n";}
if($link == "y"){
$show_event = '<a href="#" class="style1" >'.$iday.'</a>';
} else { $show_event = $iday ; } $data_sql= "";
echo "<td width=\"35\" height=\"23\" align=\"left\" valign=\"top\" $class bgcolor=\"#FFFFFF\">".$show_event."</td>\n";
} else {
echo "<td width=\"35\" height=\"23\" align=\"left\" class=\"normal\" bgcolor=\"#FFFFCC\"> </td>\n";
}
$iday++;
}
echo "</tr>\n";
} else {
break;
}
}
?>
<tr bgcolor="#ffffff" align="center">
<td height="25" colspan="7" class="normal_black">
<div align="center" id="Add_event" style="height:20px; width: 150px; border: 1px solid black; background: #f8f8f8; padding: 1px 5px; cursor:hand;" onClick="window.location.replace('<?=$PHP_SELF.$cdate_kwd?>')"><img src="<?=$img_c?>" width="16" height="16" align="absmiddle" border="0"> เดือนปัจจุบัน</div></td>
</tr>
</table>
</td>
</tr>
</table>