|
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/meetingroom/ |
Upload File : |
<?php
if ($jump == ""){ $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;
if ($dfMonth == "") {
$calTime = getdate(date(mktime(date("H") + $diffHour, date("i") + $diffMinute)));
$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 */
//เก็บ timestamp ของวันที่ 1 ของเดือนที่จะแสดงปฏิทิน ไว้ในตัวแปร $FTime
//เก็บ "วันในสัปดาห์" (จันทร์, อังคาร ฯลฯ) ของวันที่ 1 ของเดือนไว้ในตัวแปร $wday
$Lday = LastDay($month, $year);
$FTime = getdate(date(mktime(0, 0, 0, $month, 1, $year)));
$wday = $FTime["wday"];
//หาค่าของวันอาทิตย์เดือนก่อนหน้า
$lm = explode("-", date("Y-m", mktime(0, 0, 0, $dfMonth, -1, $dfYear)));
$lmday = (LastDay($lm[1], $lm[0]) - $wday);
//สร้างตัวแปรชนิดอาร์เรย์เก็บชื่อเดือนภาษาไทย
$thmonthname = array("มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม");
$col = array("#99CCFF", "#CCCCFF", "#FFCCFF", "#FFCC66", "#CCCC99", "#CCFF66","#66CC99","#CCCC33","#99FF66","#33CCCC");
$month_next = date("m/Y", mktime(0, 0, 0, $month, +32, $year));
$month_prev = date("m/Y", mktime(0, 0, 0, $month, -1, $year));
$jump_next = $today."/".$month_next;
$jump_prev = $today."/".$month_prev;
/*สร้างตัวแปรที่เอาไว้ตรวจสอบวันภายในเดือนที่แสดง ถ้ามีข้อมูลก็ให้ทำ link */
$sqDay = add_zero($today);
$sqMonth = ($dfMonth != "") ? add_zero($dfMonth) : add_zero($month) ;
$sqYear = ($dfYear != "") ? $dfYear : $year ;
/*Query ข้อมูลจาก Database*/
/*$result = mysql_query($csql)or die("Query Line " . __LINE__ . " Error<hr>".mysql_error());
$row = mysql_num_rows($result);
if($row != 0){
while($rs = mysql_fetch_assoc($result)){
$start = explode("-", $rs[sdate]);
$end = explode("-", $rs[fdate]);
$s[] = $start[2];
$e[] = $end[2];
}
}*/
$xcol = array();
for($i=0;$i<count($s); $i++){
for($x=$s[$i]; $x<=$e[$i]; $x++){
$arr_day[remove_zero($x)] = $i % count($col);
}
$xcol[] = $i % count($col);
}
//mysql_free_result($result);
$img_l = (file_exists("images/redleft.gif")) ? "images/redleft.gif" : "../images/left.gif" ;
$img_r = (file_exists("images/redright.gif")) ? "images/redright.gif" : "../images/right.gif";
$img_c = (file_exists("images/calendar.jpg")) ? "images/calendar.jpg" : "../images/calendar.jpg";
//============================================================================
// Get string to show summary reserve
// @param $day a reserve day
// @param $month a reserve month
// @param $year a reserve year
// @return $res return a summary reserve at day-month-year
//============================================================================
function getSummary($day,$month,$year)
{
global $rid;
$joindate = $year."-".sprintf("%02d",$month)."-".$day;
if ($rid) { $sql = "SELECT * FROM meeting_reserve WHERE daterent='$joindate' AND roomid='$rid'"; }
else { $sql = "SELECT * FROM meeting_reserve WHERE daterent='$joindate'"; }
$query = mysql_query($sql) or die(mysql_error());
$nrows = mysql_num_rows($query);
$arr_room = array();
$arr_room_id = array();
while($rsz = mysql_fetch_assoc($query))
{
//roomname
if (!$rid)
{
$ss = "SELECT * FROM meeting_room WHERE rid=$rsz[roomid]";
$qq = mysql_query($ss);
$rr = mysql_fetch_assoc($qq);
if ($rr)
{
$roomname =$rr[rname];
}else
{
$roomname ="ไม่ระบุห้องประชุม";
}
}
$have = false;
foreach($arr_room as $rname => $num)
{
if($rname == $roomname)
{
$arr_room[$rname] = $num + 1;
$have = true;
}
}
if(!$have)
{
$arr_room[$roomname] = 1;
$arr_room_id[$roomname] = $rsz[roomid];
}
}
$sum = 0;
foreach($arr_room as $rn => $val)
{
$sum = $sum + $val;
$rname = $rn;
$h= $val*135;
$roomid = $arr_room_id[$rn];
$res .= "<a href='#' onClick=\"popUpWindow('pop_detail.php?day=$day&month=$month&year=$year&room_id=$roomid', 'SH1',450, $h, 'yes') \"><strong>$rname ($val ครั้ง)</strong></a><br/><br/>\n";
}
return array($res,$sum*135) ;
}
?>
<table width="91%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#404040">
<tr align="center" bgcolor="#A0A0A0">
<td width="13%" height="20" bgcolor="#466A8E"><a href="?rid=<?=$rid;?>&jump=<?=$jump_prev.$cal_kwd?>"><img src="<?=$img_l?>" width="16" height="16" border="0"></a></td>
<td width="65%" height="20" colspan="5" bgcolor="#466A8E" class="normal_blue"><span class="style1">ตารางการใช้ห้องประชุมประจำเดือน
<?=$thmonthname[$month - 1]." <font class=brown>".($year + 543)."</font>"?>
</span></td>
<td width="13%" height="20" bgcolor="#466A8E"><a href="?rid=<?=$rid;?>&jump=<?=$jump_next.$cal_kwd?>"><img src="<?=$img_r?>" width="16" height="16" border="0"></a></td>
</tr>
<tr align="center" bgcolor="#e3e3e3" class="normal_blue" style="font-weight:bold;">
<td height="20" width="13%" class="warn">อา</td>
<td height="20" width="13%">จ</td>
<td height="20" width="13%">อ</td>
<td height="20" width="13%">พ</td>
<td height="20" width="13%">พฤ</td>
<td height="20" width="13%">ศ</td>
<td height="20" width="13%">ส</td>
</tr>
<?
$iday = 1;
//แสดงแถวแรกของปฏิทิน
for ($i=0; $i<=6; $i++) {
if ($i < $wday) { /*แสดงเซลล์ว่างก่อนวันที่ 1 ของเดือน*/
//echo "<td width=\"24\" height=\"55\" bgcolor=\"#eeeeee\"><font color=\"#bbbbbb\">".($lmday=$lmday+1)."</font></td>\n";
if ($i == 0) { /*กรณีที่เป็นวันอาทิตย์*/
$class = "class=\"warn\"";
} else { /*กรณีที่เป็นวันอื่นๆที่ไม่ใช่วันอาทิตย์*/
$class = "class=\"normal\"";
}
echo "<td width=\"24\" height=\"55\" align=\"center\" $class bgcolor=\"#eeeeee\"> </td>\n";
} else {
//แสดงวันที่ในแถวแรกของปฏิทิน
if(is_numeric($arr_day[$iday])) {
$class = " bgcolor=\"".$col[$arr_day[$iday]]."\" style=\"font-weight:bold;\" ";
$show = " ";
$show = $show."<font color=\"brown\">".$iday."</font>";
} elseif($iday == $today) {
$class = " bgcolor=\"#ffffff\" style=\"text-decoration:underline;\" ";
$show = "<font color=\"blue\">".$iday."</font>";
} elseif($i == 0 && ($iday != $today)) { /*กรณีที่เป็นวันอาทิตย์ และไม่ใช่วันปัจจุบัน*/
$class = " bgcolor=\"#ffffff\" style=\"font-color:red;\" ";
$show = "<font color=\"red\">".$iday."</font>";
} else {
$jump_ext = add_zero($iday)."/".$sqMonth."/".$sqYear.$cal_kwd ;
$class = " bgcolor=\"#ffffff\" ";
#$show = $iday;
$show = "";
$show = $show."".$iday."";
} $result = getSummary($iday,$month,$year);
$summary = $result[0];
$h_win_pop = $result[1];
if($summary != "")
{
$str = "<a href='#' onClick=\"popUpWindow('pop_detail.php?day=$iday&month=$month&year=$year', 'SH1', 450,$h_win_pop, 'yes') \"><strong>$show</strong></a>";
}else
{
$str = $show;
}
echo "<td width=\"13%\" height=\"55\" align=\"center\" valign=\"top\" $class>
<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td>$str</td>
</tr>
<tr>
<td>$summary </td>
</tr>
</table>
</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) {
$jump_ext = add_zero($iday)."/".$sqMonth."/".$sqYear.$cal_kwd ;
if(is_numeric($arr_day[$iday])) {
$class = " bgcolor=\"".$col[$arr_day[$iday]]."\" style=\"font-weight:bold;\" ";
$show = " <a href=?jump=". $jump_ext ." class='link' style='text-decoration:none'>";
$show = $show."<font color=\"brown\">".$iday."</font></a> ";
} elseif($iday == $today) { ####### วันที่เลือก
$class = " bgcolor=\"#ffffff\" style=\"text-decoration:underline;\"";
$show = "<font color=\"blue\">".$iday."</font>";
} elseif($i == 0 && ($iday != $today)) { ####### วันอาทิตย์
$class = " bgcolor=\"#ffffff\" style=\"font-color:red;\" ";
# $show = "<font color=\"red\">".$iday."</font>";
$show = "<font color=\"red\">";
$show = $show."".$iday."</font>";
} else {
$class = " bgcolor=\"#ffffff\" ";
#$show = $iday;
$show = "";
$show = $show."".$iday."";
}
$result = getSummary($iday,$month,$year);
$summary = $result[0];
$h_win_pop = $result[1];
if($summary != "")
{
$str = "<a href='#' onClick=\"popUpWindow('pop_detail.php?day=$iday&month=$month&year=$year', 'SH1', 450,$h_win_pop, 'yes') \"><strong>$show</strong></a>";
}else
{
$str = $show;
}
echo "<td width=\"13%\" height=\"55\" align=\"center\" valign=\"top\" $class>
<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td>$str</td>
</tr>
<tr>
<td>$summary</td>
</tr>
</table>
</td>\n";
} else {
echo "<td width=\"24\" height=\"55\" align=\"center\" class=\"normal\" bgcolor=\"#eeeeee\"> </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."?rid=$rid";?>')">
<img src="<?=$img_c?>" width="16" height="16" align="absmiddle" border="0"> วันที่ปัจจุบัน</div></td>
</tr>
</table>
<br>