@@ -, +, @@ server searches. I) Apply the patch Keyword (Any) : egypt @attr 4=1 --- C4/Breeding.pm | 25 ++++++++++++++++------ admin/z3950servers.pl | 2 +- .../prog/en/modules/admin/z3950servers.tt | 10 +++++++-- 3 files changed, 27 insertions(+), 10 deletions(-) --- a/C4/Breeding.pm +++ a/C4/Breeding.pm @@ -151,10 +151,14 @@ sub Z3950Search { ); my @servers = $rs->all; foreach my $server ( @servers ) { + my $server_zquery = $zquery; + if(my $attributes = $server->{attributes}){ + $server_zquery = "$attributes $zquery"; + } $oConnection[$s] = _create_connection( $server ); $oResult[$s] = $server->{servertype} eq 'zed'? - $oConnection[$s]->search_pqf( $zquery ): + $oConnection[$s]->search_pqf( $server_zquery ): $oConnection[$s]->search(new ZOOM::Query::CQL( _translate_query( $server, $squery ))); $s++; @@ -553,12 +557,19 @@ sub Z3950SearchAuth { while ( my $server = $sth->fetchrow_hashref ) { $oConnection[$s] = _create_connection( $server ); - $oResult[$s] = - $server->{servertype} eq 'zed'? - $oConnection[$s]->search_pqf( $zquery ): - $oConnection[$s]->search(new ZOOM::Query::CQL( - _translate_query( $server, $squery ))); - $encoding[$s] = $server->{encoding} // "iso-5426"; + if ( $server->{servertype} eq 'zed' ) { + my $server_zquery = $zquery; + if ( my $attributes = $server->{attributes} ) { + $server_zquery = "$attributes $zquery"; + } + $oResult[$s] = $oConnection[$s]->search_pqf( $server_zquery ); + } + else { + $oResult[$s] = $oConnection[$s]->search( + new ZOOM::Query::CQL(_translate_query( $server, $squery )) + ); + } + $encoding[$s] = ($server->{encoding}?$server->{encoding}:"iso-5426"); $servers[$s] = $server; $s++; } ## while fetch --- a/admin/z3950servers.pl +++ a/admin/z3950servers.pl @@ -67,7 +67,7 @@ if( $op eq 'delete_confirmed' && $id ) { $id = 0; } elsif ( $op eq 'add_validated' ) { my @fields=qw/host port db userid password rank syntax encoding timeout - recordtype checked servername servertype sru_options sru_fields + recordtype checked servername servertype sru_options sru_fields attributes add_xslt/; my $formdata = _form_data_hashref( $input, \@fields ); if( $id ) { --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/z3950servers.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/z3950servers.tt @@ -81,6 +81,10 @@
  • + [% IF (server.servertype||type) == 'zed' %] +
  • +
  • + [% END %]