0) { $args = func_get_args(); foreach ($args as $arg) { if (is_numeric($arg) && strlen($arg) == 6) { $date_str = $arg; } else if ($arg == 'off') { $today_view = FALSE; } else { $base = strip_bracket($arg); } } } if ($base == '*') { $base = ''; $prefix = ''; } else { $prefix = $base.'/'; } $r_base = rawurlencode($base); $s_base = htmlspecialchars($base); $r_prefix = rawurlencode($prefix); $s_prefix = htmlspecialchars($prefix); $yr = substr($date_str,0,4); $mon = substr($date_str,4,2); if ($yr != get_date('Y') || $mon != get_date('m')) { $now_day = 1; $other_month = 1; } else { $now_day = get_date('d'); $other_month = 0; } $today = getdate(mktime(0,0,0,$mon,$now_day,$yr) - LOCALZONE + ZONETIME); $m_num = $today['mon']; $d_num = $today['mday']; $year = $today['year']; $f_today = getdate(mktime(0,0,0,$m_num,1,$year) - LOCALZONE + ZONETIME); $wday = $f_today['wday']; $day = 1; $m_name = "$year.$m_num"; $y = substr($date_str,0,4)+0; $m = substr($date_str,4,2)+0; $prev_date_str = ($m == 1) ? sprintf('%04d%02d',$y - 1,12) : sprintf('%04d%02d',$y,$m - 1); $next_date_str = ($m == 12) ? sprintf('%04d%02d',$y + 1,1) : sprintf('%04d%02d',$y,$m + 1); $ret = ''; if ($today_view) { $ret = "\n \n \n \n \n"; foreach($weeklabels as $label) { $ret .= " \n"; } $ret .= " \n \n"; // Blank for ($i = 0; $i < $wday; $i++) { $ret .= " \n"; } while (checkdate($m_num,$day,$year)) { $dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day); $page = $prefix.$dt; $r_page = rawurlencode($page); $s_page = htmlspecialchars($page); if ($wday == 0 and $day > 1) { $ret .= " \n \n"; } $style = 'style_td_day'; // Weekday if (!$other_month && ($day == $today['mday']) && ($m_num == $today['mon']) && ($year == $today['year'])) { // Today $style = 'style_td_today'; } else if ($wday == 0) { // Sunday $style = 'style_td_sun'; } else if ($wday == 6) { // Saturday $style = 'style_td_sat'; } if (is_page($page)) { $link = "$day"; } else { $link = "$day"; } $ret .= " \n"; $day++; $wday = ++$wday % 7; } if ($wday > 0) { while ($wday++ < 7) { // Blank $ret .= " \n"; } } $ret .= " \n
\n"; } $ret .= <<
<< $m_name >> EOD; if ($prefix) { $ret .= "\n
[$s_base]"; } $ret .= "\n
$label
 
\n $link\n  
\n"; if ($today_view) { $tpage = $prefix.sprintf("%4d-%02d-%02d", $today['year'], $today['mon'], $today['mday']); $r_tpage = rawurlencode($tpage); if (is_page($tpage)) { $_page = $vars['page']; $get['page'] = $post['page'] = $vars['page'] = $tpage; $str = convert_html(get_source($tpage)); $str .= "
$_calendar2_plugin_edit"; $get['page'] = $post['page'] = $vars['page'] = $_page; } else { $str = sprintf($_calendar2_plugin_empty,make_pagelink(sprintf('%s%4d-%02d-%02d',$prefix, $today['year'], $today['mon'], $today['mday']))); } $ret .= " \n $str\n \n\n"; } return $ret; } function plugin_calendar2_action() { global $vars; $page = strip_bracket($vars['page']); $vars['page'] = '*'; if ($vars['file']) { $vars['page'] = $vars['file']; } $date = $vars['date']; if ($date == '') { $date = get_date("Ym"); } $yy = sprintf("%04d.%02d",substr($date,0,4),substr($date,4,2)); $aryargs = array($vars['page'],$date); $s_page = htmlspecialchars($vars['page']); $ret['msg'] = "calendar $s_page/$yy"; $ret['body'] = call_user_func_array('plugin_calendar2_convert',$aryargs); $vars['page'] = $page; return $ret; } ?>