--- trunk/Estraier.pm 2006/08/06 17:20:09 172 +++ trunk/Estraier.pm 2006/08/06 18:15:11 173 @@ -677,6 +677,22 @@ return $self->{skip}; } +=head2 set_mask + +Select just some links when searching and not all. + +Argument array of link numbers, starting with 0. + + $cond->set_mask(qw/0 1 4/); + +=cut + +sub set_mask { + my $self = shift; + return unless (@_); + $self->{mask} = \@_; +} + package Search::Estraier::ResultDocument; @@ -1564,6 +1580,13 @@ push @args, 'awidth=' . $self->{awidth}; push @args, 'skip=' . $cond->{skip} if ($cond->{skip}); + if ($cond->{mask}) { + my $mask = 0; + map { $mask += ( 2 ** $_ ) } @{ $cond->{mask} }; + + push @args, 'mask=' . $mask if ($mask); + } + return join('&', @args); }