X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Fopac-authorities-home.pl;h=a87030ef98d74b2b1ca7261f3fde24f70a77c928;hb=4669a10776ff958a3b2d51963b7c4ec90ec02f09;hp=ec6b579fb1c4df6a9749eb7c315613e149a5c077;hpb=7ef664c713a361058499a77e3b042e74b68a0e7d;p=koha.git diff --git a/opac/opac-authorities-home.pl b/opac/opac-authorities-home.pl index ec6b579fb1..a87030ef98 100755 --- a/opac/opac-authorities-home.pl +++ b/opac/opac-authorities-home.pl @@ -14,12 +14,13 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; -require Exporter; +use warnings; + use CGI; use C4::Auth; @@ -30,8 +31,8 @@ use C4::AuthoritiesMarc; use C4::Koha; # XXX subfield_is_koha_internal_p my $query = new CGI; -my $op = $query->param('op'); -my $authtypecode = $query->param('authtypecode'); +my $op = $query->param('op') || ''; +my $authtypecode = $query->param('authtypecode') || ''; my $dbh = C4::Context->dbh; my $startfrom = $query->param('startfrom'); @@ -55,12 +56,12 @@ foreach my $thisauthtype ( sort { $authtypes->{$a}{'authtypetext'} cmp $authtype } if ( $op eq "do_search" ) { - my @marclist = $query->param('marclist'); - my @and_or = $query->param('and_or'); - my @excluding = $query->param('excluding'); - my @operator = $query->param('operator'); + 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 $orderby = $query->param('orderby'); - my @value = $query->param('value'); + my @value = ($query->param('valuea') || "",$query->param('valueb') || "",$query->param('valuec') || "",); $resultsperpage = $query->param('resultsperpage'); $resultsperpage = 20 if ( !defined $resultsperpage ); @@ -82,20 +83,19 @@ if ( $op eq "do_search" ) { # multi page display gestion my $displaynext = 0; my $displayprev = $startfrom; + $total ||= 0; if ( ( $total - ( ( $startfrom + 1 ) * ($resultsperpage) ) ) > 0 ) { $displaynext = 1; } my @field_data = (); -# we must get parameters once again. Because if there is a mainentry, it has been replaced by something else during the search, thus the links next/previous would not work anymore - my @marclist_ini = $query->param('marclist'); - for ( my $i = 0 ; $i <= $#marclist ; $i++ ) { - push @field_data, { term => "marclist", val => $marclist_ini[$i] }; - push @field_data, { term => "and_or", val => $and_or[$i] }; - push @field_data, { term => "excluding", val => $excluding[$i] }; - push @field_data, { term => "operator", val => $operator[$i] }; - push @field_data, { term => "value", val => $value[$i] }; + 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 @numbers = (); @@ -141,6 +141,7 @@ if ( $op eq "do_search" ) { to => $to, numbers => \@numbers, authtypecode => $authtypecode, + authtypetext => $authtypes->{$authtypecode}{'authtypetext'}, isEDITORS => $authtypecode eq 'EDITORS', ); @@ -151,7 +152,7 @@ else { template_name => "opac-authorities-home.tmpl", query => $query, type => 'opac', - authnotrequired => 1, + authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ), debug => 1, } );