# trail2 => ["member0", undef],
# }
my %member_to_trails;
+my %up_in_trail;
# member => 1
my %rebuild_trail_members;
next unless exists $pagestate{$trail}{trail}{contents};
my $members = [];
+ my $up_in_trail = 0;
my @contents = @{$pagestate{$trail}{trail}{contents}};
foreach my $c (@contents) {
@$members = reverse @$members;
}
+
+
# uniquify
my %seen;
my @tmp;
foreach my $member (@$members) {
push @tmp, $member unless $seen{$member};
+ $up_in_trail = 1 if $member eq $trail;
$seen{$member} = 1;
}
$members = [@tmp];
}
$trail_to_members{$trail} = $members;
+ $up_in_trail{$trail} = $up_in_trail;
}
foreach my $member (keys %pagestate) {
# not a page in the trail itself. This allows the definition of
# up-less trails by using e.g. the trailitems directive in one of the
# pages of the trail
- unless ($trail ~~ @$members) {
+ unless ($up_in_trail{$trail}) {
$trail_info{trailpage} = $trail;
$trail_info{trailtitle} = title_of($trail);
$trail_info{trailurl} = urlto($trail, $page);