pagecount: switched to use_pagespec
parent
32cd5f0b79
commit
1abbc6a404
|
@ -20,20 +20,20 @@ sub getsetup () {
|
||||||
|
|
||||||
sub preprocess (@) {
|
sub preprocess (@) {
|
||||||
my %params=@_;
|
my %params=@_;
|
||||||
$params{pages}="*" unless defined $params{pages};
|
my $pages=defined $params{pages} ? $params{pages} : "*";
|
||||||
|
|
||||||
# Needs to update count whenever a page is added or removed, so
|
# Just get a list of all the pages, and count the items in it.
|
||||||
# register a presence dependency.
|
# Use a presence dependency to only update when pages are added
|
||||||
add_depends($params{page}, $params{pages}, deptype("presence"));
|
# or removed.
|
||||||
|
|
||||||
my @pages;
|
if ($pages eq '*') {
|
||||||
if ($params{pages} eq "*") {
|
# optimisation to avoid needing to try matching every page
|
||||||
@pages=keys %pagesources;
|
add_depends($params{page}, $pages, deptype("presence"));
|
||||||
|
return scalar keys %pagesources;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
@pages=pagespec_match_list([keys %pagesources], $params{pages}, location => $params{page});
|
return scalar use_pagespec($params{page}, $pages,
|
||||||
}
|
deptype => deptype("presence"));
|
||||||
return $#pages+1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
1
|
1
|
||||||
|
|
Loading…
Reference in New Issue