-<?
-// $Id: calendar.inc.php,v 1.4 2002/06/26 06:23:57 masui Exp $
+<?php
+// $Id: calendar.inc.php,v 1.19 2004/07/31 03:09:20 henoheno Exp $
function plugin_calendar_convert()
{
- global $script,$weeklabels,$vars,$command,$WikiName,$BracketName;
-
+ global $script,$weeklabels,$vars,$command;
+
$args = func_get_args();
-
- if(func_num_args() == 0)
- {
- $date_str = date("Ym");
- $pre = $vars[page];
- $prefix = preg_replace("/^\[\[(.*)\]\]$/","$1",$vars[page])."/";
- }
- else if(func_num_args() == 1)
+
+ $date_str = get_date("Ym");
+ $page = '';
+
+ if (func_num_args() == 1)
{
- if(is_numeric($args[0]) && strlen($args[0]) == 6)
+ if (is_numeric($args[0]) && strlen($args[0]) == 6)
{
$date_str = $args[0];
- $pre = $vars[page];
- $prefix = preg_replace("/^\[\[(.*)\]\]$/","$1",$vars[page])."/";
}
else
{
- $date_str = date("Ym");
- $pre = $args[0];
- $prefix = $args[0];
+ $page = $args[0];
}
}
- else if(func_num_args() == 2)
+ else if (func_num_args() == 2)
{
- if(is_numeric($args[0]) && strlen($args[0]) == 6)
+ if (is_numeric($args[0]) && strlen($args[0]) == 6)
{
$date_str = $args[0];
- $pre = $args[1];
- $prefix = $args[1];
+ $page = $args[1];
}
- else if(is_numeric($args[1]) && strlen($args[1]) == 6)
+ else if (is_numeric($args[1]) && strlen($args[1]) == 6)
{
$date_str = $args[1];
- $pre = $args[0];
- $prefix = $args[0];
- }
- else
- {
- $date_str = date("Ym");
- $pre = $vars[page];
- $prefix = preg_replace("/^\[\[(.*)\]\]$/","$1",$vars[page])."/";
+ $page = $args[0];
}
}
- else
+
+ if ($page == '')
+ {
+ $page = $vars['page'];
+ }
+ else if (!is_pagename($page))
{
return FALSE;
}
+ $pre = $page;
+ $prefix = $page.'/';
- if(!$command) $cmd = "read";
+
+ if (!$command) $cmd = "read";
else $cmd = $command;
-
+
$prefix = strip_tags($prefix);
-
+
$yr = substr($date_str,0,4);
$mon = substr($date_str,4,2);
- if($yr != date("Y") || $mon != date("m"))
+ if ($yr != get_date("Y") || $mon != get_date("m"))
{
$now_day = 1;
$other_month = 1;
}
else
{
- $now_day = date("d");
+ $now_day = get_date("d");
$other_month = 0;
}
- $today = getdate(mktime(0,0,0,$mon,$now_day,$yr));
-
- $m_num = $today[mon];
- $d_num = $today[mday];
- $year = $today[year];
- $f_today = getdate(mktime(0,0,0,$m_num,1,$year));
- $wday = $f_today[wday];
+ $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;
- $fweek = true;
$m_name = "$year.$m_num ($cmd)";
- if(!preg_match("/^(($WikiName)|($BracketName))$/",$pre))
- $prefix_url = "[[".$pre."]]";
- else
- $prefix_url = $pre;
-
- $prefix_url = rawurlencode($prefix_url);
+ $prefix_url = rawurlencode(is_pagename($pre) ? $pre : "[[$pre]]");
$pre = strip_bracket($pre);
- $ret .= '
+ $ret = <<<EOD
<table class="style_calendar" cellspacing="1" width="150" border="0">
- <tbody>
- <tr>
- <td align="middle" class="style_td_caltop" colspan="7" height="15">
- <div align="center"><small><b>'.$m_name.'</b><br>[<a href="'.$script.'?'.$prefix_url.'">'.$pre.'</a>]</small></div>
- </td>
- </tr>
- <tr>
-';
+ <tr>
+ <td class="style_td_caltop" colspan="7">
+ <strong>$m_name</strong><br />
+ [<a href="$script?$prefix_url">$pre</a>]
+ </td>
+ </tr>
+ <tr>
+EOD;
foreach($weeklabels as $label)
{
- $ret .= '
- <td align="middle" class="style_td_week" height="15">
- <div align="center"><small><b>'.$label.'</b></small></div>
- </td>';
+ $ret .= " <td class=\"style_td_week\"><strong>$label</strong></td>\n";
}
+ $ret .= " </tr>\n <tr>\n";
- $ret .= "</tr>\n<tr>\n";
+ // Blank
+ for ($i = 0; $i < $wday; $i++)
+ {
+ $ret .= " <td class=\"style_td_blank\"> </td>\n";
+ }
while(checkdate($m_num,$day,$year))
{
- $dt = sprintf("%4d%02d%02d", $year, $m_num, $day);
+ $dt = sprintf('%04d%02d%02d', $year, $m_num, $day);
$name = "$prefix$dt";
- $page = "[[$prefix$dt]]";
- $page_url = rawurlencode("[[$prefix$dt]]");
-
- if($cmd == "edit") $refer = "&refer=$page_url";
- else $refer = "";
-
- if($cmd == "read" && !is_page($page))
- $link = "<b>$day</b>";
+ $r_page = rawurlencode($name);
+ $s_page = htmlspecialchars($name);
+
+ $refer = ($cmd == "edit") ? '&refer='.rawurlencode($page) : '';
+
+ if ($cmd == 'read' and !is_page($name))
+ $link = "<strong>$day</strong>";
else
- $link = "<a href=\"$script?cmd=$cmd&page=$page_url$refer\" title=\"$name\"><b>$day</b></a>";
+ $link = "<a href=\"$script?cmd=$cmd&page=$r_page$refer\" title=\"$s_page\"><strong>$day</strong></a>";
- if($fweek)
+ if ($wday == 0 and $day > 1)
{
- for($i=0;$i<$wday;$i++)
- { // Blank
- $ret .= " <td width=\"14%\" align=\"center\" class=\"style_td_blank\" height=\"19\">¡¡</td>\n";
- }
- $fweek=false;
+ $ret .= " </tr><tr>\n";
}
-
- if($wday == 0) $ret .= " </tr><tr>\n";
- if(!$other_month && ($day == $today[mday]) && ($m_num == $today[mon]) && ($year == $today[year]))
+ if (!$other_month && ($day == $today['mday']) && ($m_num == $today['mon']) && ($year == $today['year']))
{
- // Today
- $ret .= " <td width=\"14%\" align=\"center\" class=\"style_td_today\" height=\"19\"><small>$link</small></td>\n";
+ // Today
+ $ret .= " <td class=\"style_td_today\"><span class=\"small\">$link</span></td>\n";
}
- else if($wday == 0)
+ else if ($wday == 0)
{
- // Sunday
- $ret .= " <td width=\"14%\" align=\"center\" class=\"style_td_sun\" height=\"19\"><small>$link</small></td>\n";
+ // Sunday
+ $ret .= " <td class=\"style_td_sun\"><span class=\"small\">$link</span></td>\n";
}
- else if($wday == 6)
+ else if ($wday == 6)
{
- // Saturday
- $ret .= " <td width=\"14%\" align=\"center\" class=\"style_td_sat\" height=\"19\"><small>$link</small></td>\n";
+ // Saturday
+ $ret .= " <td class=\"style_td_sat\"><span class=\"small\">$link</span></td>\n";
}
else
{
- // Weekday
- $ret .= " <td width=\"14%\" align=\"center\" class=\"style_td\" height=\"19\"><small>$link</small></td>\n";
+ // Weekday
+ $ret .= " <td class=\"style_td_day\"><span class=\"small\">$link</span></td>\n";
}
$day++;
$wday++;
$wday = $wday % 7;
}
- if($wday > 0)
+ if ($wday > 0)
{
while($wday < 7)
- { // Blank
- $ret .= " <td width=\"14%\" align=\"center\" class=\"style_td_blank\" height=\"19\">¡¡</td>\n";
+ { // Blank
+ $ret .= " <td class=\"style_td_blank\"> </td>\n";
$wday++;
- }
+ }
}
$ret .= " </tr>\n</table>\n";