최근변경내역과 RSS 에서 출력할 아이템의 갯수를 지정할 수 있는 인자의 추가
최근변경내역이나 RSS에서, days= 를 사용하여 날짜로 범위를 지정하는 것 외에, 출력할 페이지 아이템의 갯수를 지정할 수 있게 하였다.
- 필수 요구 사항: 없음
- 선택 요구 사항: 없음
- 사용법: wiki.pl?action=rc&items=숫자 , wiki.pl?action=rss&items=숫자
- 최대 숫자개 만큼의 아이템을 출력한다.
- days= 옵션이 우선순위가 높기 때문에, 해당 날짜 범위 내의 변경내역 엔트리의 갯수가 items 옵션의 값보다 적다면 적은 만큼만 출력된다. 즉 최소값을 보장하지는 않는다 (최소값을 보장하기 위해서는 소스를 장난 아니게 뜯어 고쳐야 한다..) 따라서 항상 일정한 갯수의 아이템을 출력하게 하고 싶다면 days= 옵션을 같이 사용해서 날짜의 범위를 크게 잡도록 한다.
wiki.pl 수정
sub GetRcHtml {
...
$showedit = &GetParam("rcshowedit", $ShowEdits);
$showedit = &GetParam("showedit", $showedit);
my $num_items = &GetParam("items", 0);
my $num_printed = 0;
...
foreach $rcline (@outrc) {
($ts, $pagename, $summary, $isEdit, $host, $kind, $extraTemp)
= split(/$FS3/, $rcline);
next if ((!$all) && ($ts < $changetime{$pagename}));
next if (($idOnly ne "") && ($idOnly ne $pagename));
next if (&PageIsHidden($pagename));
$num_printed++;
last if (($num_items > 0) && ($num_printed > $num_items));
%extra = split(/$FS2/, $extraTemp, -1);
...
}
/RSS제공 패치를 했다면, 아래의 함수도 마찬가지로 고쳐 준다.
sub GetRc {
...
$showedit = &GetParam("rcshowedit", $ShowEdits);
$showedit = &GetParam("showedit", $showedit);
my $num_items = &GetParam("items", 0);
my $num_printed = 0;
if ($showedit != 1) {
my @temprc = ();
...
foreach $rcline (@outrc) {
($ts, $pagename, $summary, $isEdit, $host, $kind, $extraTemp)
= split(/$FS3/, $rcline);
next if ((!$all) && ($ts < $changetime{$pagename}));
next if (($idOnly ne "") && ($idOnly ne $pagename));
next if (&PageIsHidden($pagename));
$num_printed++;
last if (($num_items > 0) && ($num_printed > $num_items));
%extra = split(/$FS2/, $extraTemp, -1);
if ($date ne &CalcDay($ts)) {
...
}
추가 업데이트 내역
사용자 의견
위키위키분류