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 if ($arg == 'past' || $arg == 'pastex' || $arg == 'future' || $arg == 'futureex' || $arg == 'view' ||$arg == 'viewex') {
$today_args = $arg;
}
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);
$this_date_str = sprintf('%04d%02d',$y,$m);
$page_YM = sprintf('%04d-%02d',$y,$m);
$ret = '';
if (!defined('UA_PROFILE') || UA_PROFILE == 'default') {
if ($today_view) {
if (exist_plugin('topicpath')) {
$ret = "
\n";
}
$ret .= "".sprintf('%04d年 %02d月 の %s',$y,$m,$s_base)."
\n";
$ret .= "\n \n \n";
}
$ret .= <<
<<
$m_name
>>
EOD;
if ($prefix) {
// $ret .= "\n [$s_base]";
$ret .= "\n [$s_base]";
}
$ret .= "\n | \n \n \n";
foreach($weeklabels as $label) {
$ret .= " | $label | \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);
$h_today = public_holiday($year,$m_num,$day);
$hday = $h_today['rc'];
if ($wday == 0 and $day > 1) {
$ret .= " \n \n";
}
$style = 'ministyle_td_day'; // Weekday
if (!$other_month && ($day == $today['mday']) && ($m_num == $today['mon']) && ($year == $today['year'])) { // Today
$style = 'ministyle_td_today';
}
else if ($hday != 0) { // Holiday
$style = 'ministyle_td_sun';
}
else if ($wday == 0) { // Sunday
$style = 'ministyle_td_sun';
}
else if ($wday == 6) { // Saturday
$style = 'ministyle_td_sat';
}
if (is_page($page)) {
$link = "$day";
}
else {
$link = "$day";
}
// $ret .= " | \n $link\n | \n";
$ret .= " $link | \n";
$day++;
$wday = ++$wday % 7;
}
if ($wday > 0) {
while ($wday++ < 7) { // Blank
// $ret .= " | \n";
$ret .= " | \n";
}
}
$ret .= " \n |
\n";
if ($today_view) {
if ($today_args == '') {
$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 .= "
$_minicalendar_plugin_edit";
$get['page'] = $post['page'] = $vars['page'] = $_page;
}
else {
$str = sprintf($_minicalendar_plugin_empty,make_pagelink(sprintf('%s%4d-%02d-%02d',$prefix, $today['year'], $today['mon'], $today['mday'])));
}
} else {
$aryargs = array(rawurldecode($r_base), $page_YM, $today_args);
if (exist_plugin('minicalendar_viewer')) {
$str .= call_user_func_array('plugin_minicalendar_viewer_convert',$aryargs);
}
}
$ret .= " \n $str | \n \n\n";
}
} else {
//
// for non-default profile
//
$ret .= <<<<
$m_name
>>
EOD;
if ($prefix) {
// $ret .= "\n
[$s_base]";
$ret .= "\n
[$s_base]";
}
$ret .= "
\n";
foreach($weeklabels as $label) {
$ret .= " $label\n";
}
$ret .= "
\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);
$h_today = public_holiday($year,$m_num,$day);
$hday = $h_today['rc'];
if ($wday == 0 and $day > 1) {
$ret .= "
\n";
}
$style = 'ministyle_td_day'; // Weekday
if (!$other_month && ($day == $today['mday']) && ($m_num == $today['mon']) && ($year == $today['year'])) { // Today
$style = 'ministyle_td_today';
}
else if ($hday != 0) { // Holiday
$style = 'ministyle_td_sun';
}
else if ($wday == 0) { // Sunday
$style = 'ministyle_td_sun';
}
else if ($wday == 6) { // Saturday
$style = 'ministyle_td_sat';
}
if (is_page($page)) {
if ($day < 10) { $spc = ' '; } else { $spc = ''; }
$link = "$spc$day";
}
else {
if ($day < 10) { $spc = ' '; } else { $spc = ''; }
$link = "$spc$day";
}
$ret .= "$link\n";
$day++;
$wday = ++$wday % 7;
}
if ($wday > 0) {
while ($wday++ < 7) { // Blank
$ret .= " \n";
}
}
$ret .= "
\n";
if ($today_view) {
if ($today_args == '') {
$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 .= "
$_minicalendar_plugin_edit";
$get['page'] = $post['page'] = $vars['page'] = $_page;
}
else {
$str = sprintf($_minicalendar_plugin_empty,make_pagelink(sprintf('%s%4d-%02d-%02d',$prefix, $today['year'], $today['mon'], $today['mday'])));
}
} else {
$aryargs = array(rawurldecode($r_base), $page_YM, $today_args);
if (exist_plugin('minicalendar_viewer')) {
$str .= call_user_func_array('plugin_minicalendar_viewer_convert',$aryargs);
}
}
$ret .= "$str\n";
}
}
return $ret;
}
function plugin_minicalendar_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");
}
$mode = $vars['mode'];
if ($mode == '')
{
$mode = "viewex";
}
$yy = sprintf("%04d.%02d",substr($date,0,4),substr($date,4,2));
$aryargs = array($vars['page'],$date,$mode);
$s_page = htmlspecialchars($vars['page']);
$ret['msg'] = "calendar $s_page/$yy";
$ret['body'] = call_user_func_array('plugin_minicalendar_convert',$aryargs);
$vars['page'] = $page;
return $ret;
}
?>