<? ///////// 初期設定 ////////// $start_year = "2003"; $end_year = "2010"; /////// 初期設定終わり //////// ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=x-euc.jp"> <TITLE> WebCamera Calender </TITLE> </HEAD> <BODY background="./images/glass_bg14.gif"> <? $year = $_POST['year']; $month = $_POST['month']; $sub = $_POST['sub']; $arg = $_GET['arg']; $func = $_GET['func']; $mag = $_GET['mag'];?> <?php if($func == "pix") { ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp"> <title> WebCamera Calender </title> </head> <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="submit" name="" value="戻る"> </form> <?php print("<img src=data/" . $mag . ".agora-o.jpg border=0>"); ?> </body></html> <?php exit;}?> <? echo <<<_EOT_ <TABLE border="0" cellspacing="0" cellpadding="0" width="457"> <TR> <TD colspan="3"> <IMG src="./images/f-kaeru-t.gif" border="0" width="457" height="36" alt=""><BR> </TD> </TR> <TR> <TD valign="top" rowspan="2" background="./images/f-kaeru-bgl.gif"> <IMG src="./images/f-kaeru-l.gif" border="0" width="52" height="34" alt=""><BR> </TD> <TD rowspan="2" valign="top" bgcolor="#FFFFFF"> <TABLE border="0" cellspacing="0" cellpadding="2" width="345"> <TR> <TD> _EOT_; ?> <FORM action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST"> <SELECT name="year"> <? print select_year(); ?> </SELECT>年 <SELECT name="month"> <? print select_month(); ?> </SELECT>月 <input type="submit" name="sub" value="移動"><br> 写真をクリックすると拡大できます。 <TABLE border=1 cellspacing="1" cellpadding=3" bgcolor=linen> <TR><TD colspan=7 bgcolor=wihte align=center> <font color=white><? print title(); ?></font></TH> <? //if($arg != "") {print("<td rowspan=7>". "<a href=data/" . $arg . ".agora-o.jpg width=\"350\"><img src=data/" . $arg . ".agora-o.jpg width=\"350\" border=0></a></td>");} ?> <? /* if($arg != "") { echo <<<_EOF_ <td rowspan=7><a href="?year=$year&month=$month&func=pix&mag=$arg"><img src=data/$arg.agora-o.jpg width="350" border=0></a></td> _EOF_; } */ ?> </TR> <TR valign=top bgcolor=lightgrey><? print set_week() ?></TR> <? if($arg != "") { $yearg = $_GET['year']; $monthg = $_GET['month']; $year = $yearg; $month = $monthg; } ?> <? print calender(); ?> </TABLE> <? if($arg != "") { echo <<<_EOF_ <br> <a href="?year=$year&month=$month&func=pix&mag=$arg"><img src=data/$arg.agora-o.jpg width="350" border=0></a> _EOF_; } ?> <? echo <<<_EOT_ </TD> </TR> </TABLE> </TD> <TD valign="top" background="./images/f-kaeru-bgr.gif"> <IMG src="./images/f-kaeru-r1.gif" border="0" width="49" height="33" alt=""><BR> </TD> </TR> <TR> <TD valign="bottom" background="./images/f-kaeru-bgr.gif"> <IMG src="./images/f-kaeru-r2.gif" border="0" width="55" height="20" alt=""><BR> </TD> </TR> <TR> <TD colspan="3"> <IMG src="./images/f-kaeru-b.gif" border="0" width="457" height="42" alt=""><BR> </TD> </TR> </TABLE> _EOT_; ?> <? ///////////////////////////////////////////////////////// // 表題部に年月を表示 function title() { global $sub , $year , $month; if (!$sub) { $month = date("n"); $year = date("Y"); } $arg = $_GET['arg']; if($arg != "") { $yearg = $_GET['year']; $monthg = $_GET['month']; $year = $yearg; $month = $monthg; } print ("$year"."年"."$month"."月"); } ///////////////////////////////////////////////////////// // 曜日を配置 function set_week() { $week = array("日","月","火","水","木","金","土"); for ($i = 0 ; $i < 7 ; $i ++) { switch ($i) { // 日曜日 case 0: print ("<TD align=center><font color=red>".$week[$i]."</font></TD>"); break; // 土曜日 case 6: print ("<TD align=center><font color=blue>".$week[$i]."</font></TD>"); break; // その他 default: print ("<TD align=center>".$week[$i]."</TD>"); } } } ///////////////////////////////////////////////////////////// // カレンダー部分を作成する関数 function calender() { global $month , $year; $horiday_03 = array("0101","0211","0321","0429","0503","0505","0505","0721","0915","0923","1103","1124","1223"); $week_day = 0; // 曜日を初期化 $month_day = 1; // 月の初日 $week = 1; // 週を初期化 $change_horiday = 0; $lay = 1; while (checkdate($month , $month_day , $year)) { $today = sprintf("%02d%02d%02d", $year, $month, $month_day); $yymmdd = ""; if(file_exists("data/$today.agora-s.jpg")) { $yymmdd = "<a href=\"?arg=$today&year=$year&month=$month\"><img src=data/$today.agora-s.jpg border=0 width=\"40\"></a>"; } if(($month == 5) && ($month_day == 20)) { $yymmdd = "<font size=1>定期<br>点検日</font>"; } // $week_dayが0の場合(日曜日の場合)テーブルの行を追加する if ($week_day == 0 ) { print ("<TR valign=top>\n"); } // mktime(時,分,秒,月,日,年) → 引数(時,分,秒,月,日,年)のUNIXタイムスタンプを返す // date("w") → 曜日を数値(日 → 0 .... 土 → 6)で返す while (date("w",mktime(0,0,0,$month,$month_day,$year)) > $week_day) { print ("<TD align=center>-</TD>\n"); // 1月と10月の第2週目の月曜日を休日にするための前処理 if ($week_day == 1) { $week = 0; } $week_day ++; } $check_horiday = sprintf("%02d%02d" , $month , $month_day); // date("Ynd") ↓↓ // Y → 年を4桁の数字で返す(例 2001) // n → 月を先頭に0を付けない数字で返す(1 2 .... 12) // j → 日付けを数字で返す(2桁の数字になる場合もある) if (date("Ynj") == $year.$month.$month_day) { // 現在の日付を取得してフォントを赤の太字で表示させる print ("<TD align=center><font color=green><b>$month_day</b></font><BR>$yymmdd\n"); $change_horiday = 0; } elseif (in_array("$check_horiday",$horiday_03)) { // 祝日の処理 print ("<TD align=center><font color=red>$month_day</font><BR>$yymmdd\n"); if (date("w" , mktime(0,0,0,$month,$month_day,$year)) == 0) { $change_horiday = 1; } } elseif ($month == 1 && $week ==2 && $week_day == 1) { // 1月の第2月曜日の処理(休日) print ("<TD align=center><font color=red>$month_day</font><BR>$yymmdd\n"); } elseif ($month == 10 && $week ==2 && $week_day == 1) { // 10月の第2月曜日の処理(休日) print ("<TD align=center><font color=red>$month_day</font><BR>$yymmdd\n"); } elseif ($change_horiday == 1) { // 振替休日の処理 print ("<TD align=center><font color=red>$month_day</font><BR>$yymmdd\n"); $change_horiday = 0; } else { // その他の場合、日曜日はフォントを赤、土曜日はフォントを青にする処理 switch ($week_day) { // 日曜日 case 0 : print ("<TD align=center><font color=red>$month_day</font><BR>$yymmdd\n"); break; // 土曜日 case 6 : print ("<TD align=center><font color=blue>$month_day</font><BR>$yymmdd\n"); break; default : print ("<TD align=center>$month_day<BR>$yymmdd\n"); } } print ("</TD>\n"); // 日にちと曜日をプラスする $week_day ++; $month_day ++; // $week_day が6を越えた場合はテーブルの行を閉じる if ($week_day == 7) { print ("</TR>\n"); // 曜日を日曜日に戻す $week_day = 0; // 週を1増やす $week ++; } } // 月の最後の日が週の途中で終わった場合は、その週の残りの部分に「-」を表示させる if ($week_day > 0) { for ($i = $week_day ; $i < 7 ; $i ++) { print ("<TD align=center>-</TD>\n"); } print ("</TR>\n"); } } ///////////////////////////////////////////////////////////////// // 年のプルダウンメニューを作成。 function select_year() { global $sub , $year , $start_year , $end_year; for ($i = $start_year ; $i < $end_year ; $i ++) { if (!$sub && date(Y) == $i) { print ("<option value=$i selected>$i</option>\n"); } elseif ($year == $i) { print ("<option value=$i selected>$i</option>\n"); } else { print ("<option value=$i>$i</option>\n"); } } } ///////////////////////////////////////////////////////////////// // 月のプルダウンメニューを作成。 function select_month() { global $sub , $month; for ($i = 1 ; $i < 13 ; $i ++) { if (!$sub && date(n) == $i) { print ("<option value=$i selected>$i</option>\n"); } elseif ($month == $i) { print ("<option value=$i selected>$i</option>\n"); } else { print ("<option value=$i>$i</option>\n"); } } } ?> </FORM> </BODY> </HTML>