<?php
/*
* PukiWiki calendar_viewer¥×¥é¥°¥¤¥ó
- * $Id: calendar_viewer.inc.php,v 1.20 2004/08/10 13:18:05 henoheno Exp $
+ * $Id: calendar_viewer.inc.php,v 1.21 2004/08/10 13:39:25 henoheno Exp $
* calendarrecent¥×¥é¥°¥¤¥ó¤ò¸µ¤ËºîÀ®
*/
/**
* ³µÍ×
calendar¥×¥é¥°¥¤¥ó¤äcalendar2¥×¥é¥°¥¤¥ó¤ÇºîÀ®¤·¤¿¥Ú¡¼¥¸¤ò°ìÍ÷ɽ¼¨¤¹¤ë¤¿¤á¤Î¥×¥é¥°¥¤¥ó¤Ç¤¹¡£
+
* »È¤¤Êý
#calendar_viewer(pagename,(yyyy-mm|n|this),[mode],[separater])
+
** pagename
calendar or calendar2¥×¥é¥°¥¤¥ó¤òµ½Ò¤·¤Æ¤ë¥Ú¡¼¥¸Ì¾
+
** (yyyy-mm|n|this)
- yyyy-mm
-- yyyy-mm¤Ç»ØÄꤷ¤¿Ç¯·î¤Î¥Ú¡¼¥¸¤ò°ìÍ÷ɽ¼¨
-- n·ï¤Î°ìÍ÷ɽ¼¨
- this
-- º£·î¤Î¥Ú¡¼¥¸¤ò°ìÍ÷ɽ¼¨
+
** [mode]
¾Êά²Äǽ¤Ç¤¹¡£¾Êά»þ¤Î¥Ç¥Õ¥©¥ë¥È¤Ïpast
- past
-- º£Æü°Ê¹ß¤Î¥Ú¡¼¥¸¤Î°ìÍ÷ɽ¼¨¥â¡¼¥É¡£¥¤¥Ù¥ó¥ÈͽÄê¤ä¥¹¥±¥¸¥å¡¼¥ë¸þ¤
- view
-- ²áµî¤«¤é̤Íè¤Ø¤Î°ìÍ÷ɽ¼¨¥â¡¼¥É¡£É½¼¨Í޻ߤ¹¤ë¥Ú¡¼¥¸¤Ï¤¢¤ê¤Þ¤»¤ó¡£
+
** [separater]
- ǯ·îÆü¤ò¶èÀڤ륻¥Ñ¥ì¡¼¥¿¤ò»ØÄê¡£
- ¾Êά²Äǽ¡£¥Ç¥Õ¥©¥ë¥È¤Ï-¡£¡Êcalendar2¤Ê¤é¾Êά¤ÇOK¡Ë
$limit_page = 7; // ɽ¼¨¤¹¤ë·ï¿ôÀ©¸Â
$date_YM = ''; // °ìÍ÷ɽ¼¨¤¹¤ëǯ·î
$mode = 'past'; // Æ°ºî¥â¡¼¥É
- $date_sep = '-'; // ÆüÉդΥ»¥Ñ¥ì¡¼¥¿ calendar2¤Ê¤é'-' calendar¤Ê¤é''
+ $date_sep = '-'; // ÆüÉդΥ»¥Ñ¥ì¡¼¥¿ calendar2¤Ê¤é '-', calendar¤Ê¤é ''
// °ú¿ô¤Î³Îǧ
}
if (preg_match('/[0-9]{4}' . $date_sep . '[0-9]{2}/', $func_vars_array[1])) {
// »ØÄêǯ·î¤Î°ìÍ÷ɽ¼¨
- $page_YM = $func_vars_array[1];
- $limit_base = 0;
- $limit_page = 31; // ¼êÈ´¤¡£31Æüʬ¤ò¥ê¥ß¥Ã¥È¤È¤¹¤ë¡£
+ $page_YM = $func_vars_array[1];
+ $limit_base = 0;
+ $limit_page = 31; // ¼êÈ´¤¡£31Æüʬ¤ò¥ê¥ß¥Ã¥È¤È¤¹¤ë¡£
} else if (preg_match('/this/si', $func_vars_array[1])) {
// º£·î¤Î°ìÍ÷ɽ¼¨
- $page_YM = get_date('Y' . $date_sep . 'm');
- $limit_base = 0;
- $limit_page = 31;
+ $page_YM = get_date('Y' . $date_sep . 'm');
+ $limit_base = 0;
+ $limit_page = 31;
} else if (preg_match('/^[0-9]+$/', $func_vars_array[1])) {
// nÆüʬɽ¼¨
- $page_YM = '';
+ $page_YM = '';
$limit_page = $func_vars_array[1];
$limit_base = 0;
$limit_pitch = $func_vars_array[1];
} else if (preg_match('/([0-9]+)\*([0-9]+)/', $func_vars_array[1], $reg_array)) {
- $page_YM = '';
+ $page_YM = '';
$limit_base = $reg_array[1];
$limit_page = $reg_array[1] + $reg_array[2];
$limit_pitch = $reg_array[2];
return $_err_calendar_viewer_param2;
}
- if (isset($func_vars_array[2]) && preg_match('/^(past|view|future)$/si', $func_vars_array[2])) {
+ if (isset($func_vars_array[2]) &&
+ preg_match('/^(past|view|future)$/si', $func_vars_array[2])) {
// ¥â¡¼¥É»ØÄê
$mode = $func_vars_array[2];
}
// °ìÍ÷ɽ¼¨¤¹¤ë¥Ú¡¼¥¸Ì¾¤È¥Õ¥¡¥¤¥ë̾¤Î¥Ñ¥¿¡¼¥ó¡¡¥Õ¥¡¥¤¥ë̾¤Ë¤Ïǯ·î¤ò´Þ¤à
if ($pagename == '') {
// pagename̵¤·¤Îyyyy-mm-dd¤ËÂбþ¤¹¤ë¤¿¤á¤Î½èÍý
- $pagepattern = '';
+ $pagepattern = '';
$pagepattern_len = 0;
- $filepattern = encode($page_YM);
+ $filepattern = encode($page_YM);
$filepattern_len = strlen($filepattern);
} else {
- $pagepattern = strip_bracket($pagename) . '/';
+ $pagepattern = strip_bracket($pagename) . '/';
$pagepattern_len = strlen($pagepattern);
- $filepattern = encode($pagepattern . $page_YM);
+ $filepattern = encode($pagepattern . $page_YM);
$filepattern_len = strlen($filepattern);
}
$pagelist = array();
if ($dir = @opendir(DATA_DIR)) {
$_date = get_date('Y' . $date_sep . 'm' . $date_sep . 'd');
- while($file = readdir($dir))
- {
+ while($file = readdir($dir)) {
if ($file == '..' || $file == '.') continue;
if (substr($file, 0, $filepattern_len) != $filepattern) continue;
+
//echo "OK";
$page = decode(trim(preg_replace('/\.txt$/', ' ', $file)));
+
// $page¤¬¥«¥ì¥ó¥À¡¼·Á¼°¤Ê¤Î¤«¥Á¥§¥Ã¥¯ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ yyyy-mm-dd
$page = strip_bracket($page);
if (plugin_calendar_viewer_isValidDate(substr($page, $pagepattern_len), $date_sep) == false) continue;
// modeËè¤ËÊ̾ò·ï¤Ç¤Ï¤¸¤¯
+
// past mode¤Ç¤Ï̤Íè¤Î¥Ú¡¼¥¸¤ÏNG
- if (((substr($page, $pagepattern_len)) > $_date) && ($mode == 'past'))continue;
+ if (((substr($page, $pagepattern_len)) > $_date) &&
+ ($mode == 'past')) continue;
+
// future mode¤Ç¤Ï²áµî¤Î¥Ú¡¼¥¸¤ÏNG
- if (((substr($page, $pagepattern_len)) < $_date) && ($mode == 'future'))continue;
+ if (((substr($page, $pagepattern_len)) < $_date) &&
+ ($mode == 'future')) continue;
+
// view mode¤Ê¤éall OK
$pagelist[] = $page;
}
}
closedir($dir);
//echo count($pagelist);
- // ¤³¤³¤«¤é¥¤¥ó¥¯¥ë¡¼¥É³«»Ï
+ // ¤³¤³¤«¤é¥¤¥ó¥¯¥ë¡¼¥É³«»Ï
$tmppage = $vars['page'];
$return_body = '';
+
// ¤Þ¤º¥½¡¼¥È
if ($mode == 'past') {
- // past mode¤Ç¤Ï¿·¢ªµì
- rsort ($pagelist);
+ rsort($pagelist); // past mode¤Ç¤Ï¿·¢ªµì
} else {
- // view mode ¤È future mode ¤Ç¤Ï¡¢µì¢ª¿·
- sort ($pagelist);
+ sort($pagelist); // view mode ¤È future mode ¤Ç¤Ï¡¢µì¢ª¿·
}
// $limit_page¤Î·ï¿ô¤Þ¤Ç¥¤¥ó¥¯¥ë¡¼¥É
$get['page'] = $post['page'] = $vars['page'] = $page;
- // ¸½¾õ¤Ç±ÜÍ÷µö²Ä¤¬¤¢¤ë¾ì¹ç¤À¤±É½¼¨¤¹¤ë
- if (check_readable($page, false, false)) {
- $body = convert_html(get_source($page));
- } else {
- $body = str_replace('$1', $page, $_msg_calendar_viewer_restrict);
- }
+ // ¸½¾õ¤Ç±ÜÍ÷µö²Ä¤¬¤¢¤ë¾ì¹ç¤À¤±É½¼¨¤¹¤ë
+ if (check_readable($page, false, false)) {
+ $body = convert_html(get_source($page));
+ } else {
+ $body = str_replace('$1', $page, $_msg_calendar_viewer_restrict);
+ }
$r_page = rawurlencode($page);
$s_page = htmlspecialchars($page);
- $link = "<a href=\"$script?cmd=edit&page=$r_page\">$s_page</a>";
- $head = "<h1>$link</h1>\n";
+ $link = "<a href=\"$script?cmd=edit&page=$r_page\">$s_page</a>";
+ $head = "<h1>$link</h1>\n";
$return_body .= $head . $body;
++$tmp;
if ($page_YM != '') {
// ǯ·îɽ¼¨»þ
$date_sep_len = strlen($date_sep);
- $this_year = substr($page_YM, 0, 4);
- $this_month = substr($page_YM, 4 + $date_sep_len, 2);
+ $this_year = substr($page_YM, 0, 4);
+ $this_month = substr($page_YM, 4 + $date_sep_len, 2);
+
// ¼¡·î
- $next_year = $this_year;
+ $next_year = $this_year;
$next_month = $this_month + 1;
if ($next_month > 12) {
++$next_year;
}
$prev_YM = sprintf('%04d%s%02d', $prev_year, $date_sep, $prev_month);
if ($mode == 'past') {
- $right_YM = $prev_YM;
- $right_text = $prev_YM . '>>';
- $left_YM = $next_YM;
- $left_text = '<<' . $next_YM;
+ $right_YM = $prev_YM;
+ $right_text = $prev_YM . '>>'; // >>
+ $left_YM = $next_YM;
+ $left_text = '<<' . $next_YM; // <<
} else {
- $left_YM = $prev_YM;
- $left_text = '<<' . $prev_YM;
- $right_YM = $next_YM;
- $right_text = $next_YM . '>>';
+ $left_YM = $prev_YM;
+ $left_text = '<<' . $prev_YM; // <<
+ $right_YM = $next_YM;
+ $right_text = $next_YM . '>>'; // >>
}
} else {
// n·ïɽ¼¨»þ
$right_YM = '';
} else {
$right_base = $limit_base + $limit_pitch;
- $right_YM = $right_base . '*' . $limit_pitch;
+ $right_YM = $right_base . '*' . $limit_pitch;
$right_text = sprintf($_msg_calendar_viewer_right, $limit_pitch);
}
$left_base = $limit_base - $limit_pitch;
if ($left_base >= 0) {
- $left_YM = $left_base . '*' . $limit_pitch;
+ $left_YM = $left_base . '*' . $limit_pitch;
$left_text = sprintf($_msg_calendar_viewer_left, $limit_pitch);
} else {