677 |
return $self->{skip}; |
return $self->{skip}; |
678 |
} |
} |
679 |
|
|
680 |
|
=head2 set_mask |
681 |
|
|
682 |
|
Select just some links when searching and not all. |
683 |
|
|
684 |
|
Argument array of link numbers, starting with 0. |
685 |
|
|
686 |
|
$cond->set_mask(qw/0 1 4/); |
687 |
|
|
688 |
|
=cut |
689 |
|
|
690 |
|
sub set_mask { |
691 |
|
my $self = shift; |
692 |
|
return unless (@_); |
693 |
|
$self->{mask} = \@_; |
694 |
|
} |
695 |
|
|
696 |
|
|
697 |
package Search::Estraier::ResultDocument; |
package Search::Estraier::ResultDocument; |
698 |
|
|
1369 |
$path = '/etch_doc' if ($a->{etch}); |
$path = '/etch_doc' if ($a->{etch}); |
1370 |
|
|
1371 |
if ($a->{id}) { |
if ($a->{id}) { |
1372 |
croak "id must be numberm not '$a->{id}'" unless ($a->{id} =~ m/^\d+$/); |
croak "id must be number not '$a->{id}'" unless ($a->{id} =~ m/^\d+$/); |
1373 |
$arg = 'id=' . $a->{id}; |
$arg = 'id=' . $a->{id}; |
1374 |
} elsif ($a->{uri}) { |
} elsif ($a->{uri}) { |
1375 |
$arg = 'uri=' . uri_escape($a->{uri}); |
$arg = 'uri=' . uri_escape($a->{uri}); |
1580 |
push @args, 'awidth=' . $self->{awidth}; |
push @args, 'awidth=' . $self->{awidth}; |
1581 |
push @args, 'skip=' . $cond->{skip} if ($cond->{skip}); |
push @args, 'skip=' . $cond->{skip} if ($cond->{skip}); |
1582 |
|
|
1583 |
|
if ($cond->{mask}) { |
1584 |
|
my $mask = 0; |
1585 |
|
map { $mask += ( 2 ** $_ ) } @{ $cond->{mask} }; |
1586 |
|
|
1587 |
|
push @args, 'mask=' . $mask if ($mask); |
1588 |
|
} |
1589 |
|
|
1590 |
return join('&', @args); |
return join('&', @args); |
1591 |
} |
} |
1592 |
|
|