TOP イベント 店舗案内 NEWS LINK 採用情報 掲示板
アイリッシュパブ →   ←
 
アイルランドやパブに関わるサイト様歓迎いたします。
 
sun mon tue wed thr fri sat
\n"; /*echo "style["th"]." colspan=\"7\">\n"; echo $year."年".$month."月\n"; */echo "\n"; echo "\n"; // 曜日表示 echo "style["tr"]." style=\"text-align:center\">\n"; for($i = 0; $i < 7; $i++) { $wk = ($this->wfrom + $i) % 7; echo "style["td"]." bgcolor=\"".$this->bgcolor[$this->kind[$wk]]."\">\n"; } echo "\n"; // $dayがその月の日数を超えるまでループ $tday = $from; $mday = date("t", mktime(0, 0, 0, $month, 1, $year)); while($tday <= $mday) { echo "style["tr"].">\n"; for($i = 0; $i < 7; $i++) { $fstyle = ""; $wk = ($this->wfrom + $i) % 7; $bgcolor = $this->bgcolor[$this->kind[$wk]]; // 当月判定 if($tday >= 1 && $tday <= $mday) { if($arr["year"] == $year && $arr["mon"] == $month && $arr["mday"] == $tday) { // 当日 $bgcolor = $this->bgcolor[4]; } else if($this->holiday[$tday] == 1) { // 祝日 $bgcolor = $this->bgcolor[2]; } // 指定日 if($day == $tday) { $fstyle = " style=\"font-weight:bold\""; } } else { // 当月以外の平日 if($wk > 0 && $wk < 6) $bgcolor = $this->bgcolor[3]; } echo "style["td"]." bgcolor=\"".$bgcolor."\"".$fstyle.">\n"; list($lyear, $lmonth, $lday) = explode("-", date("Y-n-j", mktime(0, 0, 0, $month, $tday, $year))); // データ部分表示 if(($tday >= 1 && $tday <= $mday) || $this->beforeandafterday) { if(isset($this->link[$tday])) { echo "link[$tday]["url"]."\" title=\"".$this->link[$tday]["title"]."\">".$lday.""; } else { echo $lday; } echo "\n"; } else { echo " "; } $tday++; } echo "\n"; } echo "\n"; echo "style["tf"]." colspan=\"7\">\n"; echo "本日:".$arr["year"]."年".$arr["mon"]."月".$arr["mday"]."日\n"; echo "\n"; echo "\n"; echo "
wfrom = $arg1; // 当月以外の日付を表示するかどうか(0-表示しない 1-表示する) $this->beforeandafterday = $arg2; // --- 以下、表示設定 --- // スタイルの設定 $this->style["table"] = " class=\"calendar\""; $this->style["th"] = ""; $this->style["tr"] = ""; $this->style["td"] = ""; $this->style["tf"] = " class=\"tf\""; // 曜日に対する背景色の設定(0-平日, 1-土, 2-日祝日, 3-当月以外の平日, 4-当日) $this->kind = array(2, 0, 0, 0, 0, 0, 1); $this->bgcolor = array("#000000", "#000000", "#000000", "#000000", "#000000"); // 曜日の名前 $this->week = array("sun", "mon", "thu", "wed", "thr", "fri", "sat"); } /** * 設定された内容でカレンダーを表示します * * @param int $year * @param int $month * @param int $day */ function show_calendar($year, $month, $day = 0) { // 休日の算出 if(!isset($this->set_holiday)) $this->set_holiday($year, $month); // その月の開始とする数値を取得 $from = 1; while(date("w", mktime(0, 0, 0, $month, $from, $year)) <> $this->wfrom) { $from--; } // 前月と次月の年月を取得 list($ny, $nm, $nj) = explode("-", date("Y-n-j", mktime(0, 0, 0, $month+1, 1, $year))); list($by, $bm, $bj) = explode("-", date("Y-n-j", mktime(0, 0, 0, $month-1, 1, $year))); // 当日取得 $arr = getdate(); // 表示開始 echo "style["table"]." summary=\"カレンダー\">\n"; echo "
\n"; } /** * 指定された日に対してリンクを設定します。 * * @param int $day * @param string $url * @param string $title */ function set_link($day, $url, $title) { $this->link[$day]["url"] = $url; $this->link[$day]["title"] = $title; } /** * 現在設定されているリンクを全て解除します。 * */ function clear_link() { $this->link = array(); } /** * 休日の計算を行います。 * (休日名もセットしていますが、現在は出力していません。) * * @param int $year * @param int $month */ function set_holiday($year, $month) { // その月の最初の月曜日が何日かを算出 $day = 1; while(date("w",mktime(0 ,0 ,0 , $month, $day, $year)) <> 1) { $day++; } // 祝日をセット switch($month){ case 1: // 元旦 $this->holiday[1] = 1; $this->holiday_name[1] = "元旦"; // 成人の日 if($year < 2000) { $this->holiday[15] = 1; $this->holiday_name[15] = "成人の日"; } else { $this->holiday[$day+7] = 1; $this->holiday_name[$day+7] = "成人の日"; } break; case 2: // 建国記念日 $this->holiday[11] = 1; $this->holiday_name[11] = "建国記念日"; break; case 3: // 春分の日 if($year > 1979 && $year < 2100) { $tmp = floor(20.8431+($year-1980)*0.242194-floor(($year-1980)/4)); $this->holiday[$tmp] = 1; $this->holiday_name[$tmp] = "春分の日"; } break; case 4: // 天皇誕生日 or みどりの日 $this->holiday[29] = 1; if($year < 1989) { $this->holiday_name[29] = "天皇誕生日"; } else { $this->holiday_name[29] = "みどりの日"; } break; case 5: // 憲法記念日 $this->holiday[3] = 1; $this->holiday_name[3] = "憲法記念日"; // 子どもの日 $this->holiday[5] = 1; $this->holiday_name[5] = "子供の日"; break; case 7: // 海の日 if($year > 2002) { $this->holiday[$day+14] = 1; $this->holiday_name[$day+14] = "海の日"; } elseif($year > 1994) { $this->holiday[21] = 1; $this->holiday_name[21] = "海の日"; } break; case 9: // 敬老の日 if($year < 2003) { $this->holiday[15] = 1; $this->holiday_name[15] = "敬老の日"; } else { $this->holiday[$day+14] = 1; $this->holiday_name[$day+14] = "敬老の日"; } // 秋分の日 if($year > 1979 && $year < 2100) { $tmp = floor(23.2488+($year-1980)*0.242194-floor(($year-1980)/4)); $this->holiday[$tmp] = 1; $this->holiday_name[$tmp] = "秋分の日"; } break; case 10; // 体育の日 if($year < 2000) { $this->holiday[10] = 1; $this->holiday_name[10] = "体育の日"; } else { $this->holiday[$day+7] = 1; $this->holiday_name[$day+7] = "体育の日"; } break; case 11: // 文化の日 $this->holiday[3] = 1; $this->holiday_name[3] = "文化の日"; // 勤労感謝の日 $this->holiday[23] = 1; $this->holiday_name[23] = "勤労感謝の日"; break; case 12: // 天皇誕生日 if($year > 1988) { $this->holiday[23] = 1; $this->holiday_name[23] = "天皇誕生日"; } break; } // 国民の休日をセット if($year > 1985) { for($i = 1;$i < date("t",mktime(0,0,0,$month,1,$year));$i++) { if(isset($this->holiday[$i]) && isset($this->holiday[$i+2])) { $this->holiday[$i+1] = 1; $this->holiday_name[$i+1] = "国民の休日"; $i = $i + 3; } } } // 振り替え休日をセット $sday = $day - 1; if($sday == 0) $sday = 7; for($i = $sday;$i < date("t",mktime(0, 0, 0, $month, 1, $year));$i = $i + 7) { if(isset($this->holiday[$i])) { $this->holiday[$i+1] = 1; $this->holiday_name[$i+1] = "振替休日"; } } } } ?>