2 // $Id: calendar2.inc.php,v 1.11 2002/11/29 00:09:01 panda Exp $
4 function plugin_calendar2_convert()
6 global $script,$weeklabels,$vars,$command,$WikiName,$BracketName,$post,$get;
7 global $_calendar2_plugin_edit, $_calendar2_plugin_empty;
9 $args = func_get_args();
11 if(func_num_args() == 0)
13 $date_str = date("Ym");
14 $pre = strip_bracket($vars['page']);
15 $prefix = strip_bracket($vars['page'])."/";
17 else if(func_num_args() == 1)
19 if(is_numeric($args[0]) && strlen($args[0]) == 6)
22 $pre = strip_bracket($vars['page']);
23 $prefix = strip_bracket($vars['page'])."/";
27 $date_str = date("Ym");
28 $pre = strip_bracket($args[0]);
29 $prefix = strip_bracket($args[0])."/";
32 else if(func_num_args() == 2)
34 if(is_numeric($args[0]) && strlen($args[0]) == 6)
37 $pre = strip_bracket($args[1]);
38 $prefix = strip_bracket($args[1])."/";
40 else if(is_numeric($args[1]) && strlen($args[1]) == 6)
43 $pre = strip_bracket($args[0]);
44 $prefix = strip_bracket($args[0]).'/';
48 $date_str = date("Ym");
49 $pre = strip_bracket($vars[page]);
50 $prefix = strip_bracket($vars[page])."/";
61 $prefix_ = rawurlencode($pre);
62 $prefix = strip_tags($prefix);
64 if(!$command) $cmd = "read";
68 $yr = substr($date_str,0,4);
69 $mon = substr($date_str,4,2);
70 if($yr != date("Y") || $mon != date("m")) {
78 $today = getdate(mktime(0,0,0,$mon,$now_day,$yr));
81 $d_num = $today[mday];
83 $f_today = getdate(mktime(0,0,0,$m_num,1,$year));
84 $wday = $f_today[wday];
88 $m_name = "$year.$m_num ($cmd)";
90 if(!preg_match("/^(($WikiName)|($BracketName))$/",$pre))
91 $prefix_url = "[[".$pre."]]";
95 $prefix_url = rawurlencode($prefix_url);
96 $pre = strip_bracket($pre);
98 $ret .= '<table border="0" width="100%"><tr><td valign="top">';
100 $y = substr($date_str,0,4)+0;
101 $m = substr($date_str,4,2)+0;
103 $prev_date_str = sprintf("%04d%02d",$y,$m-1);
105 $prev_date_str = sprintf("%04d%02d",$y-1,12);
107 $next_date_str = sprintf("%04d%02d",$y,$m+1);
109 $next_date_str = sprintf("%04d%02d",$y+1,1);
114 <table class="style_calendar" cellspacing="1" width="150" border="0">
116 <td align="middle" class="style_td_caltop" colspan="7">
117 <div class="small" style="text-align:center"><a href="'.$script.'?plugin=calendar2&file='.$prefix_.'&date='.$prev_date_str.'"><<</a> <strong>'.$m_name.'</strong> <a href="'.$script.'?plugin=calendar2&file='.$prefix_.'&date='.$next_date_str.'">>></a></div>
125 <table class="style_calendar" cellspacing="1" width="150" border="0">
128 <td align="middle" class="style_td_caltop" colspan="7">
129 <div class="small" style="text-align:center"><a href="'.$script.'?plugin=calendar2&file='.$prefix_.'&date='.$prev_date_str.'"><<</a> <strong>'.$m_name.'</strong> <a href="'.$script.'?plugin=calendar2&file='.$prefix_.'&date='.$next_date_str.'">>></a><br />[<a href="'.$script.'?'.$prefix_url.'">'.$pre.'</a>]</div>
136 foreach($weeklabels as $label)
139 <td align="middle" class="style_td_week">
140 <div class="small" style="text-align:center"><strong>'.$label.'</strong></div>
144 $ret .= "</tr>\n<tr>\n";
146 while(checkdate($m_num,$day,$year))
148 $dt = sprintf("%4d-%02d-%02d", $year, $m_num, $day);
149 $name = "$prefix$dt";
150 $page = "[[$prefix$dt]]";
151 $page_url = rawurlencode("[[$prefix$dt]]");
153 if($cmd == "edit") $refer = "&refer=$page_url";
156 if($cmd == "read" && !is_page($page))
157 $link = "<a href=\"$script?cmd=$cmd&page=$page_url$refer\" title=\"$name\" class=\"small\">$day</a>";
159 $link = "<a href=\"$script?cmd=$cmd&page=$page_url$refer\" title=\"$name\"><strong>$day</strong></a>";
163 for($i=0;$i<$wday;$i++)
165 $ret .= " <td align=\"center\" class=\"style_td_blank\"> </td>\n";
170 if($wday == 0) $ret .= " </tr><tr>\n";
171 if(!$other_month && ($day == $today[mday]) && ($m_num == $today[mon]) && ($year == $today[year]))
174 $ret .= " <td align=\"center\" class=\"style_td_today\">$link</td>\n";
179 $ret .= " <td align=\"center\" class=\"style_td_sun\">$link</td>\n";
184 $ret .= " <td align=\"center\" class=\"style_td_sat\">$link</td>\n";
189 $ret .= " <td align=\"center\" class=\"style_td\">$link</td>\n";
199 $ret .= " <td align=\"center\" class=\"style_td_blank\"> </td>\n";
204 $ret .= " </tr>\n</table>\n";
206 $page = sprintf("[[%s%4d-%02d-%02d]]", $prefix, $today[year], $today[mon], $today[mday]);
207 $page_url = rawurlencode($page);
209 $page_ = $vars['page'];
210 $get['page'] = $post['page'] = $vars['page'] = $page;
211 $str = convert_html(join("",file(get_filename(encode($page)))));
212 $str .= "<hr /><a class=\"small\" href=\"$script?cmd=edit&page=".rawurlencode($page)."\">$_calendar2_plugin_edit</a>";
213 $get['page'] = $post['page'] = $vars['page'] = $page_;
216 $str = make_link(sprintf($_calendar2_plugin_empty,sprintf('[[%s%4d-%02d-%02d]]',$prefix, $today[year], $today[mon], $today[mday])));
219 $ret .= "</td><td valign=\"top\">".$str."</td></tr></table>";
224 function plugin_calendar2_action()
226 global $command,$vars;
229 $page = strip_bracket($vars['page']);
231 if($vars['file']) $vars['page'] = $vars['file'];
233 $date = $vars['date'];
237 $yy = sprintf("%04d.%02d",substr($date,0,4),substr($date,4,2));
239 $aryargs = array($vars['page'],$date);
240 $ret["msg"] = "calendar ".$vars['page']."/".$yy;
241 $ret["body"] = call_user_func_array("plugin_calendar2_convert",$aryargs);
243 $vars['page'] = $page;