ページの作成や編集にはユーザ登録が必要です。
monthcalenderで任意の期間を指定できるパッチ
- 投稿者: zedosho
- カテゴリ: 修正
- 優先度: 低
- 状態: 提案
- 日時: 2003年09月11日 08時56分22秒
内容
対象バージョンは3.5です。
{{monthcalendar カレンダ名,年,月,開始日,終了日}}
で開始日〜終了日の区間を指定して表示できます。
*** CalendarHandler.pm.orig Sun Aug 24 04:34:48 2003 --- CalendarHandler.pm Thu Sep 11 08:45:39 2003 *************** *** 174,185 **** my $year = shift; my $month = shift; my $name = shift; my $cgi = $wiki->get_CGI; my $page = $cgi->param("page"); my $buf = ""; ! ! for (my $i=31;$i>=1;$i--) { my $pagename = &make_pagename($year,$month,$i,$name); if ($wiki->page_exists($pagename)) { $buf .= "!!![[$year-$month-$i|$pagename]]\n {{include $pagename}}\n"; --- 174,193 ---- my $year = shift; my $month = shift; my $name = shift; + my $start = shift; + my $end = shift; + if(!defined($start)) {$start = 1;} + if(!defined($end)) {$end = 31;} + if($start < 1){$start = 1;} + if($start > 31){$start = 31;} + if($end < 1){$end = 1;} + if($end > 31){$end = 31;} my $cgi = $wiki->get_CGI; my $page = $cgi->param("page"); my $buf = ""; ! ! for (my $i=$end;$i>=$start;$i--) { my $pagename = &make_pagename($year,$month,$i,$name); if ($wiki->page_exists($pagename)) { $buf .= "!!![[$year-$month-$i|$pagename]]\n{{include $pagename}}\n";
*** MonthCalendar.pm.orig Sun Aug 24 04:34:48 2003 --- MonthCalendar.pm Thu Sep 11 08:45:28 2003 *************** *** 31,36 **** --- 31,38 ---- my $name = shift; my $year = shift; my $month = shift; + my $start = shift; + my $end = shift; if ($name eq "") { return &Util::paragraph_error("カレンダ名が指定されていません。","WIKI"); *************** *** 42,48 **** $month = $mon + 1; } ! return plugin::calendar::CalendarHandler::make_month_pages($wiki,$year,$month,$name); } 1; --- 44,50 ---- $month = $mon + 1; } ! return plugin::calendar::CalendarHandler::make_month_pages($wiki,$year,$month,$name,$start,$end); } 1;
コメント
- 年と月を省略すると正常動作しないようです。 - 希 (2003年09月13日 23時02分58秒)
- 上記の件、修正しました。引数自体の省略はできないようなので、年と月に0を指定してください。
*** MonthCalendar.pm.orig Sun Aug 24 04:34:48 2003 --- MonthCalendar.pm Sun Sep 14 06:34:10 2003 *************** *** 31,48 **** my $name = shift; my $year = shift; my $month = shift; if ($name eq "") { return &Util::paragraph_error("カレンダ名が指定されていません。","WIKI"); } ! if(!defined($year) || !defined($month)){ my ($sec, $min, $hour, $mday, $mon, $year2, $wday) = localtime(time()); $year = $year2 + 1900; $month = $mon + 1; } ! return plugin::calendar::CalendarHandler::make_month_pages($wiki,$year,$month,$name); } 1; --- 31,50 ---- my $name = shift; my $year = shift; my $month = shift; + my $start = shift; + my $end = shift; if ($name eq "") { return &Util::paragraph_error("カレンダ名が指定されていません。","WIKI"); } ! if(!defined($year) || !defined($month) || $year == 0 || $month == 0){ my ($sec, $min, $hour, $mday, $mon, $year2, $wday) = localtime(time()); $year = $year2 + 1900; $month = $mon + 1; } ! return plugin::calendar::CalendarHandler::make_month_pages($wiki,$year,$month,$name,$start,$end); } 1;
- zedosho (2003年09月14日 06時38分15秒)
- 修正版で動作確認できました。 - 希 (2003年09月14日 13時00分40秒)
- 3.5.1の安定版用のパッチを作成しました。calender_patch_for_3_5_1.lzh(561)。機能は変更ありません。 - zedosho (2003年10月18日 09時22分09秒)
- 添付ファイルのファイル名がCalenderになっていてpatchをあてようとすると怒られます。 - 名無しさん (2006年05月07日 02時52分23秒)
- 正しいファイル名に変更しました。calendar_patch_for_3_5_1.lzh(543)。機能は同様です。 - zedosho (2006年05月08日 18時47分26秒)
最終更新時間:2006年05月08日 18時47分26秒