トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-plugin/52

ページの作成や編集にはユーザ登録が必要です。

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秒)
お名前: コメント:
calendar_patch_for_3_5_1.lzh calender_patch_for_3_5_1.lzh

最終更新時間:2006年05月08日 18時47分26秒