1 | <?php |
---|
2 | /** |
---|
3 | * Description: a complete year |
---|
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 | |
---|
17 | define ('CALENDAR_MONTH_STATE',CALENDAR_USE_MONTH_WEEKDAYS); |
---|
18 | |
---|
19 | if ( !isset($_GET['year']) ) $_GET['year'] = date('Y'); |
---|
20 | |
---|
21 | $Year = new Calendar_Year($_GET['year']); |
---|
22 | |
---|
23 | $Year->build(); |
---|
24 | ?> |
---|
25 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
---|
26 | <html> |
---|
27 | <head> |
---|
28 | <title> <?php echo ( $Year->thisYear() ); ?> </title> |
---|
29 | <style type="text/css"> |
---|
30 | body { |
---|
31 | font-family: Georgia, serif; |
---|
32 | } |
---|
33 | caption.year { |
---|
34 | font-weight: bold; |
---|
35 | font-size: 120%; |
---|
36 | font-color: navy; |
---|
37 | } |
---|
38 | caption.month { |
---|
39 | font-size: 110%; |
---|
40 | font-color: navy; |
---|
41 | } |
---|
42 | table.month { |
---|
43 | border: thin groove #800080 |
---|
44 | } |
---|
45 | tr { |
---|
46 | vertical-align: top; |
---|
47 | } |
---|
48 | th, td { |
---|
49 | text-align: right; |
---|
50 | font-size: 70%; |
---|
51 | } |
---|
52 | #prev { |
---|
53 | float: left; |
---|
54 | font-size: 70%; |
---|
55 | } |
---|
56 | #next { |
---|
57 | float: right; |
---|
58 | font-size: 70%; |
---|
59 | } |
---|
60 | </style> |
---|
61 | </head> |
---|
62 | <body> |
---|
63 | <table> |
---|
64 | <caption class="year"> |
---|
65 | <?php echo ( $Year->thisYear() ); ?> |
---|
66 | <div id="next"> |
---|
67 | <a href="?year=<?php echo ( $Year->nextYear() ); ?>">>></a> |
---|
68 | </div> |
---|
69 | <div id="prev"> |
---|
70 | <a href="?year=<?php echo ( $Year->prevYear() ); ?>"><<</a> |
---|
71 | </div> |
---|
72 | </caption> |
---|
73 | <?php |
---|
74 | $i = 0; |
---|
75 | while ( $Month = $Year->fetch() ) { |
---|
76 | |
---|
77 | switch ( $i ) { |
---|
78 | case 0: |
---|
79 | echo ( "<tr>\n" ); |
---|
80 | break; |
---|
81 | case 3: |
---|
82 | case 6: |
---|
83 | case 9: |
---|
84 | echo ( "</tr>\n<tr>\n" ); |
---|
85 | break; |
---|
86 | case 12: |
---|
87 | echo ( "</tr>\n" ); |
---|
88 | break; |
---|
89 | } |
---|
90 | |
---|
91 | echo ( "<td>\n<table class=\"month\">\n" ); |
---|
92 | echo ( "<caption class=\"month\">".date('F',$Month->thisMonth(TRUE))."</caption>" ); |
---|
93 | echo ( "<tr>\n<th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th><th>S</th>\n</tr>" ); |
---|
94 | $Month->build(); |
---|
95 | while ( $Day = $Month->fetch() ) { |
---|
96 | if ( $Day->isFirst() ) { |
---|
97 | echo ( "<tr>\n" ); |
---|
98 | } |
---|
99 | if ( $Day->isEmpty() ) { |
---|
100 | echo ( "<td> </td>\n" ); |
---|
101 | } else { |
---|
102 | echo ( "<td>".$Day->thisDay()."</td>\n" ); |
---|
103 | } |
---|
104 | if ( $Day->isLast() ) { |
---|
105 | echo ( "</tr>\n" ); |
---|
106 | } |
---|
107 | } |
---|
108 | echo ( "</table>\n</td>\n" ); |
---|
109 | |
---|
110 | $i++; |
---|
111 | } |
---|
112 | ?> |
---|
113 | </table> |
---|
114 | <p>Took: <?php echo ((getmicrotime()-$start)); ?></p> |
---|
115 | </body> |
---|
116 | </html> |
---|