OSDN Git Service

初回コミット(v2.6.17.1)
[magic3/magic3.git] / include / lib / Calendar-0.5.5 / docs / examples / 21.php
1 <?php
2 /**
3 * Description: a complete year with numeric week numbers
4 */
5 function getmicrotime(){
6     list($usec, $sec) = explode(" ",microtime());
7     return ((float)$usec + (float)$sec);
8 }
9 $start = getmicrotime();
10
11 if (!@include 'Calendar/Calendar.php') {
12     define('CALENDAR_ROOT', '../../');
13 }
14
15 require_once CALENDAR_ROOT.'Year.php';
16 require_once CALENDAR_ROOT.'Month/Weeks.php';
17
18 define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH_WEEKS);
19
20 if (!isset($_GET['year'])) $_GET['year'] = date('Y');
21
22 $week_types = array(
23     'n_in_year',
24     'n_in_month',
25 );
26
27 if (!isset($_GET['week_type']) || !in_array($_GET['week_type'],$week_types) ) {
28     $_GET['week_type'] = 'n_in_year';
29 }
30
31 $Year = new Calendar_Year($_GET['year']);
32
33 $Year->build();
34 ?>
35 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
36 <html>
37 <head>
38 <title> <?php echo $Year->thisYear(); ?> </title>
39 <style type="text/css">
40 body {
41     font-family: Georgia, serif;
42 }
43 caption.year {
44     font-weight: bold;
45     font-size: 120%;
46     font-color: navy;
47 }
48 caption.month {
49     font-size: 110%;
50     font-color: navy;
51 }
52 table.month {
53     border: thin groove #800080
54 }
55 tr {
56     vertical-align: top;
57 }
58 th, td {
59     text-align: right;
60     font-size: 70%;
61 }
62 #prev {
63     float: left;
64     font-size: 70%;
65 }
66 #next {
67     float: right;
68     font-size: 70%;
69 }
70 #week_type {
71     float: none;
72     font-size: 70%;
73 }
74 .weekNumbers {
75     background-color: #e5e5f5;
76     padding-right: 3pt;
77 }
78 </style>
79 </head>
80 <body>
81 <table>
82 <caption class="year">
83 <?php echo $Year->thisYear(); ?>
84 <div id="next">
85 <a href="?year=<?php echo $Year->nextYear(); ?>&week_type=<?php echo $_GET['week_type']; ?>">>></a>
86 </div>
87 <div id="prev">
88 <a href="?year=<?php echo $Year->prevYear(); ?>&week_type=<?php echo $_GET['week_type']; ?>"><<</a>
89 </div>
90 <div id="week_type">
91 <a href="?year=<?php echo $Year->thisYear(); ?>&week_type=n_in_year">Weeks by Year</a> : 
92 <a href="?year=<?php echo $Year->thisYear(); ?>&week_type=n_in_month">Weeks by Month</a> 
93 </div>
94 </caption>
95 <?php
96 $i = 0;
97 while ($Month = $Year->fetch()) {
98
99     switch ($i) {
100         case 0:
101             echo "<tr>\n";
102             break;
103         case 3:
104         case 6:
105         case 9:
106             echo "</tr>\n<tr>\n";
107            break;
108         case 12:
109             echo "</tr>\n";
110             break;
111     }
112
113     echo "<td>\n<table class=\"month\">\n";
114     echo '<caption class="month">'.date('F', $Month->thisMonth(TRUE)).'</caption>';
115     echo '<colgroup><col class="weekNumbers"><col span="7"></colgroup>'."\n";
116     echo "<tr>\n<th>Week</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th><th>S</th>\n</tr>";
117     $Month->build();
118     while ($Week = $Month->fetch()) {
119         echo "<tr>\n";
120         echo '<td>'.$Week->thisWeek($_GET['week_type'])."</td>\n";
121         $Week->build();
122
123         while ($Day = $Week->fetch()) {
124             if ($Day->isEmpty()) {
125                 echo "<td>&nbsp;</td>\n";
126             } else {
127                 echo "<td>".$Day->thisDay()."</td>\n";
128             }
129         }
130     }
131     echo "</table>\n</td>\n";
132
133     $i++;
134 }
135 ?>
136 </table>
137 <p>Took: <?php echo ((getmicrotime()-$start)); ?></p>
138 </body>
139 </html>