2 // $Id: calendar2.inc.php,v 1.22 2005/01/26 13:20:26 henoheno Exp $
3 // *°ú¿ô¤Ëoff¤È½ñ¤¯¤³¤È¤Çº£Æü¤ÎÆüµ¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£
4 function plugin_calendar2_convert()
6 global $script,$vars,$post,$get,$weeklabels,$WikiName,$BracketName;
7 global $_calendar2_plugin_edit, $_calendar2_plugin_empty;
11 $date_str = get_date('Ym');
12 $base = strip_bracket($vars['page']);
14 if (func_num_args() > 0) {
15 $args = func_get_args();
16 foreach ($args as $arg) {
17 if (is_numeric($arg) && strlen($arg) == 6) {
20 else if ($arg == 'off') {
24 $base = strip_bracket($arg);
35 $r_base = rawurlencode($base);
36 $s_base = htmlspecialchars($base);
37 $r_prefix = rawurlencode($prefix);
38 $s_prefix = htmlspecialchars($prefix);
40 $yr = substr($date_str,0,4);
41 $mon = substr($date_str,4,2);
43 if ($yr != get_date('Y') || $mon != get_date('m')) {
48 $now_day = get_date('d');
52 $today = getdate(mktime(0,0,0,$mon,$now_day,$yr) - LOCALZONE + ZONETIME);
54 $m_num = $today['mon'];
55 $d_num = $today['mday'];
56 $year = $today['year'];
58 $f_today = getdate(mktime(0,0,0,$m_num,1,$year) - LOCALZONE + ZONETIME);
59 $wday = $f_today['wday'];
62 $m_name = "$year.$m_num";
64 $y = substr($date_str,0,4)+0;
65 $m = substr($date_str,4,2)+0;
67 $prev_date_str = ($m == 1) ?
68 sprintf('%04d%02d',$y - 1,12) : sprintf('%04d%02d',$y,$m - 1);
70 $next_date_str = ($m == 12) ?
71 sprintf('%04d%02d',$y + 1,1) : sprintf('%04d%02d',$y,$m + 1);
75 $ret = "<table border=\"0\" summary=\"calendar frame\">\n <tr>\n <td valign=\"top\">\n";
78 <table class="style_calendar" cellspacing="1" width="150" border="0" summary="calendar body">
80 <td class="style_td_caltop" colspan="7">
81 <a href="$script?plugin=calendar2&file=$r_base&date=$prev_date_str"><<</a>
82 <strong>$m_name</strong>
83 <a href="$script?plugin=calendar2&file=$r_base&date=$next_date_str">>></a>
87 $ret .= "\n <br />[<a href=\"$script?$r_base\">$s_base</a>]";
90 $ret .= "\n </td>\n </tr>\n <tr>\n";
92 foreach($weeklabels as $label) {
93 $ret .= " <td class=\"style_td_week\">$label</td>\n";
96 $ret .= " </tr>\n <tr>\n";
98 for ($i = 0; $i < $wday; $i++) {
99 $ret .= " <td class=\"style_td_blank\"> </td>\n";
102 while (checkdate($m_num,$day,$year)) {
103 $dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day);
105 $r_page = rawurlencode($page);
106 $s_page = htmlspecialchars($page);
108 if ($wday == 0 and $day > 1) {
109 $ret .= " </tr>\n <tr>\n";
112 $style = 'style_td_day'; // Weekday
113 if (!$other_month && ($day == $today['mday']) && ($m_num == $today['mon']) && ($year == $today['year'])) { // Today
114 $style = 'style_td_today';
116 else if ($wday == 0) { // Sunday
117 $style = 'style_td_sun';
119 else if ($wday == 6) { // Saturday
120 $style = 'style_td_sat';
123 if (is_page($page)) {
124 $link = '<a href="' . $script . '?' . $r_page . '" title="' . $s_page .
125 '"><strong>' . $day . '</strong></a>';
128 $link = '<span class="small">' . $day . '</small>';
130 $link = $script . '?cmd=edit&page=' . $r_page . '&refer=' . $r_base;
131 $link = '<a class="small" href="' . $link . '" title="' . $s_page . '">' . $day . '</a>';
135 $ret .= ' <td class="' . $style . '">' . "\n" .
142 while ($wday++ < 7) { // Blank
143 $ret .= " <td class=\"style_td_blank\"> </td>\n";
147 $ret .= " </tr>\n </table>\n";
150 $tpage = $prefix.sprintf("%4d-%02d-%02d", $today['year'], $today['mon'], $today['mday']);
151 $r_tpage = rawurlencode($tpage);
152 if (is_page($tpage)) {
153 $_page = $vars['page'];
154 $get['page'] = $post['page'] = $vars['page'] = $tpage;
155 $str = convert_html(get_source($tpage));
156 $str .= "<hr /><a class=\"small\" href=\"$script?cmd=edit&page=$r_tpage\">$_calendar2_plugin_edit</a>";
157 $get['page'] = $post['page'] = $vars['page'] = $_page;
160 $str = sprintf($_calendar2_plugin_empty,make_pagelink(sprintf('%s%4d-%02d-%02d',$prefix, $today['year'], $today['mon'], $today['mday'])));
162 $ret .= " </td>\n <td valign=\"top\">$str</td>\n </tr>\n</table>\n";
168 function plugin_calendar2_action()
172 $page = strip_bracket($vars['page']);
176 $vars['page'] = $vars['file'];
179 $date = $vars['date'];
183 $date = get_date("Ym");
185 $yy = sprintf("%04d.%02d",substr($date,0,4),substr($date,4,2));
187 $aryargs = array($vars['page'],$date);
188 $s_page = htmlspecialchars($vars['page']);
190 $ret['msg'] = "calendar $s_page/$yy";
191 $ret['body'] = call_user_func_array('plugin_calendar2_convert',$aryargs);
193 $vars['page'] = $page;