}
} else {
my $query;
- my $attr;
+ my $attr = '';
# the marclist may contain "mainentry". In this case, search the tag_to_report, that depends on
# the authtypecode. Then, search on $a of this tag_to_report
# also store main entry MARC tag, to extract it at end of search
elsif ( @$tags[$i] eq "mainentry" ) {
$attr = " \@attr 1=Heading ";
}
- elsif ( @$tags[$i] eq "any" ) {
- $attr = " \@attr 1=Any ";
- }
elsif ( @$tags[$i] eq "match" ) {
$attr = " \@attr 1=Match ";
}
elsif ( @$tags[$i] eq "thesaurus" ) {
$attr = " \@attr 1=Subject-heading-thesaurus ";
}
+ else { # Assume any if no index was specified
+ $attr = " \@attr 1=Any ";
+ }
if ( @$operator[$i] eq 'is' ) {
$attr .= " \@attr 4=1 \@attr 5=100 "
; ##Phrase, No truncation,all of subfield field must match
[% END %]
[% END %]
</select>
- <select name="operatorc" id="anywhere">
+ <select name="operator" id="anywhere">
<option value="contains">contains</option>
<option value="start">starts with</option>
<option value="is">is exactly</option>
</select>
- <input type="text" name="valuec" id="anywhere_value" value="[% value %]" />
- <input type="hidden" name="marclistc" value="" />
- <input type="hidden" name="and_ora" value="and" />
- <input type="hidden" name="excludingc" value="" />
+ <input type="text" name="value" id="value" value="[% value %]" />
+ <select name="marclist" id="marclist">
+ <option value="any" selected="selected">in keyword</option>
+ <option value="mainentry">in main entry</option>
+ <option value="match">in any heading</option>
+ </select>
+ <input type="hidden" name="and_ora" value="and" />
+ <input type="hidden" name="excluding" value="" />
</li>
<li><label for="orderby">Order by: </label><select name="orderby" id="orderby">
<option value="">None</option>
}
if ( $op eq "do_search" ) {
- my @marclist = ($query->param('marclista'),$query->param('marclistb'),$query->param('marclistc'));
- my @and_or = ($query->param('and_ora'),$query->param('and_orb'),$query->param('and_orc'));
- my @excluding = ($query->param('excludinga'),$query->param('excludingb'),$query->param('excludingc'),);
- my @operator = ($query->param('operatora'),$query->param('operatorb'),$query->param('operatorc'));
+ my @marclist = ($query->param('marclist'));
+ my @and_or = ($query->param('and_or'));
+ my @excluding = ($query->param('excluding'),);
+ my @operator = ($query->param('operator'));
my $orderby = $query->param('orderby');
- my @value = ($query->param('valuea') || "",$query->param('valueb') || "",$query->param('valuec') || "",);
+ my @value = ($query->param('value') || "",);
$resultsperpage = $query->param('resultsperpage');
$resultsperpage = 20 if ( !defined $resultsperpage );
$displaynext = 1;
}
- my @field_data = ();
-
- foreach my $letter (qw/a b c/){
- push @field_data, { term => "marclist$letter" , val => $query->param("marclist$letter") || ''};
- push @field_data, { term => "and_or$letter" , val => $query->param("and_or$letter") || ''};
- push @field_data, { term => "excluding$letter" , val => $query->param("excluding$letter") || ''};
- push @field_data, { term => "operator$letter" , val => $query->param("operator$letter") || ''};
- push @field_data, { term => "value$letter" , val => $query->param("value$letter") || ''};
- }
+ my @field_data = ( { term => "marclist" , val => $query->param("marclist") || ''} );
my @numbers = ();