OSDN Git Service

Cleanup comments only
[pukiwiki/pukiwiki.git] / plugin / calendar.inc.php
index 3483521..79a5872 100644 (file)
-<?
-// $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\">&nbsp;</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 = "&amp;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") ? '&amp;refer='.rawurlencode($page) : '';
+
+               if ($cmd == 'read' and !is_page($name))
+                       $link = "<strong>$day</strong>";
                else
-                       $link = "<a href=\"$script?cmd=$cmd&amp;page=$page_url$refer\" title=\"$name\"><b>$day</b></a>";
+                       $link = "<a href=\"$script?cmd=$cmd&amp;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\">&nbsp;</td>\n";
                $wday++;
-               } 
+               }
        }
 
        $ret .= "  </tr>\n</table>\n";