From ad89c966789ef0f58c5e6d2002d7e3f1aea7a6c5 Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Mon, 21 Oct 2013 12:13:17 +0200 Subject: [PATCH] [SIGNED-OFF] Bug 11091 - peltidy on serials/subscription-bib-search.pl Signed-off-by: David Noe --- serials/subscription-bib-search.pl | 174 +++++++++++++++++++----------------- 1 files changed, 92 insertions(+), 82 deletions(-) diff --git a/serials/subscription-bib-search.pl b/serials/subscription-bib-search.pl index c512ac4..8d6310c 100755 --- a/serials/subscription-bib-search.pl +++ b/serials/subscription-bib-search.pl @@ -19,7 +19,6 @@ # with Koha; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - =head1 NAME subscription-bib-search.pl @@ -47,7 +46,6 @@ to multipage gestion. =cut - use strict; use warnings; @@ -60,63 +58,66 @@ use C4::Search; use C4::Biblio; use C4::Debug; -my $input=new CGI; -# my $type=$query->param('type'); +my $input = new CGI; my $op = $input->param('op') || q{}; my $dbh = C4::Context->dbh; -my $startfrom=$input->param('startfrom'); -$startfrom=0 unless $startfrom; -my ($template, $loggedinuser, $cookie); +my $startfrom = $input->param('startfrom'); +$startfrom = 0 unless $startfrom; +my ( $template, $loggedinuser, $cookie ); my $resultsperpage; -my $itype_or_itemtype = (C4::Context->preference("item-level_itypes"))?'itype':'itemtype'; +my $itype_or_itemtype = + ( C4::Context->preference("item-level_itypes") ) ? 'itype' : 'itemtype'; my $query = $input->param('q'); + # don't run the search if no search term ! -if ($op eq "do_search" && $query) { +if ( $op eq "do_search" && $query ) { ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { template_name => "serials/result.tmpl", + { + template_name => "serials/result.tmpl", query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => {catalogue => 1, serials => '*'}, + flagsrequired => { catalogue => 1, serials => '*' }, debug => 1, } ); # add the limits if applicable my $itemtypelimit = $input->param('itemtypelimit'); - my $ccodelimit = $input->param('ccodelimit'); + my $ccodelimit = $input->param('ccodelimit'); my $op = C4::Context->preference('UseQueryParser') ? '&&' : 'and'; $query .= " $op $itype_or_itemtype:$itemtypelimit" if $itemtypelimit; $query .= " $op ccode:$ccodelimit" if $ccodelimit; $debug && warn $query; - $resultsperpage= $input->param('resultsperpage'); - $resultsperpage = 20 if(!defined $resultsperpage); + $resultsperpage = $input->param('resultsperpage'); + $resultsperpage = 20 if ( !defined $resultsperpage ); - my ($error, $marcrecords, $total_hits) = SimpleSearch($query, $startfrom*$resultsperpage, $resultsperpage); + my ( $error, $marcrecords, $total_hits ) = + SimpleSearch( $query, $startfrom * $resultsperpage, $resultsperpage ); my $total = 0; - if (defined $marcrecords ) { + if ( defined $marcrecords ) { $total = scalar @{$marcrecords}; } - if (defined $error) { - $template->param(query_error => $error); - warn "error: ".$error; + if ( defined $error ) { + $template->param( query_error => $error ); + warn "error: " . $error; output_html_with_http_headers $input, $cookie, $template->output; exit; } my @results; - for(my $i=0;$i<$total;$i++) { + for ( my $i = 0 ; $i < $total ; $i++ ) { my %resultsloop; - my $marcrecord = MARC::File::USMARC::decode($marcrecords->[$i]); - my $biblio = TransformMarcToKoha(C4::Context->dbh,$marcrecord,''); + my $marcrecord = MARC::File::USMARC::decode( $marcrecords->[$i] ); + my $biblio = TransformMarcToKoha( C4::Context->dbh, $marcrecord, '' ); #build the hash for the template. - $resultsloop{highlight} = ($i % 2)?(1):(0); + $resultsloop{highlight} = ( $i % 2 ) ? (1) : (0); $resultsloop{title} = $biblio->{'title'}; $resultsloop{subtitle} = $biblio->{'subtitle'}; $resultsloop{biblionumber} = $biblio->{'biblionumber'}; @@ -129,87 +130,95 @@ if ($op eq "do_search" && $query) { } # multi page display gestion - my $displaynext=0; - my $displayprev=$startfrom; - if(($total_hits - (($startfrom+1)*($resultsperpage))) > 0 ){ + my $displaynext = 0; + my $displayprev = $startfrom; + if ( ( $total_hits - ( ( $startfrom + 1 ) * ($resultsperpage) ) ) > 0 ) { $displaynext = 1; } - my @numbers = (); - if ($total_hits>$resultsperpage) - { - for (my $i=1; $i<$total/$resultsperpage+1; $i++) - { - if ($i<16) - { - my $highlight=0; - ($startfrom==($i-1)) && ($highlight=1); - push @numbers, { number => $i, - highlight => $highlight , - searchdata=> \@results, - startfrom => ($i-1)}; + if ( $total_hits > $resultsperpage ) { + for ( my $i = 1 ; $i < $total / $resultsperpage + 1 ; $i++ ) { + if ( $i < 16 ) { + my $highlight = 0; + ( $startfrom == ( $i - 1 ) ) && ( $highlight = 1 ); + push @numbers, + { + number => $i, + highlight => $highlight, + searchdata => \@results, + startfrom => ( $i - 1 ) + }; } } } my $from = 0; - $from = $startfrom*$resultsperpage+1 if($total_hits > 0); + $from = $startfrom * $resultsperpage + 1 if ( $total_hits > 0 ); my $to; - if($total_hits < (($startfrom+1)*$resultsperpage)) - { + if ( $total_hits < ( ( $startfrom + 1 ) * $resultsperpage ) ) { $to = $total; - } else { - $to = (($startfrom+1)*$resultsperpage); + } + else { + $to = ( ( $startfrom + 1 ) * $resultsperpage ); } $template->param( - query => $query, - resultsloop => \@results, - startfrom=> $startfrom, - displaynext=> $displaynext, - displayprev=> $displayprev, - resultsperpage => $resultsperpage, - startfromnext => $startfrom+1, - startfromprev => $startfrom-1, - total=>$total_hits, - from=>$from, - to=>$to, - numbers=>\@numbers, - ); -} # end of if ($op eq "do_search" & $query) + query => $query, + resultsloop => \@results, + startfrom => $startfrom, + displaynext => $displaynext, + displayprev => $displayprev, + resultsperpage => $resultsperpage, + startfromnext => $startfrom + 1, + startfromprev => $startfrom - 1, + total => $total_hits, + from => $from, + to => $to, + numbers => \@numbers, + ); +} # end of if ($op eq "do_search" & $query) else { - ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "serials/subscription-bib-search.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {catalogue => 1, serials => '*'}, - debug => 1, - }); + ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "serials/subscription-bib-search.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => { catalogue => 1, serials => '*' }, + debug => 1, + } + ); # load the itemtypes my $itemtypes = GetItemTypes(); my @itemtypesloop; - foreach my $thisitemtype ( sort {$itemtypes->{$a}->{'description'} cmp $itemtypes->{$b}->{'description'} } keys %$itemtypes ) { - my %row =( - code => $thisitemtype, - description => $itemtypes->{$thisitemtype}->{'description'}, - ); - push @itemtypesloop, \%row; - } + foreach my $thisitemtype ( + sort { + $itemtypes->{$a}->{'description'} + cmp $itemtypes->{$b}->{'description'} + } keys %$itemtypes + ) + { + my %row = ( + code => $thisitemtype, + description => $itemtypes->{$thisitemtype}->{'description'}, + ); + push @itemtypesloop, \%row; + } # load Collection Codes - my $authvalues = GetAuthorisedValues('CCODE'); - my @ccodesloop; - for my $thisauthvalue (sort {$a->{'lib'} cmp $b->{'lib'}} @$authvalues) { - my %row =( - code => $thisauthvalue->{'authorised_value'}, - description => $thisauthvalue->{'lib'}, - ); - push @ccodesloop, \%row; - } + my $authvalues = GetAuthorisedValues('CCODE'); + my @ccodesloop; + for my $thisauthvalue ( sort { $a->{'lib'} cmp $b->{'lib'} } @$authvalues ) + { + my %row = ( + code => $thisauthvalue->{'authorised_value'}, + description => $thisauthvalue->{'lib'}, + ); + push @ccodesloop, \%row; + } $template->param( itemtypeloop => \@itemtypesloop, @@ -217,6 +226,7 @@ else { no_query => $op eq "do_search" ? 1 : 0, ); } + # Print the page output_html_with_http_headers $input, $cookie, $template->output; -- 1.7.2.5