X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=circ%2Freserveratios.pl;h=55eb01825a389d707051ab0ea70d4becdedaf2ae;hb=c8ad1e6928ed424ae127bfac870d00fae7ea180a;hp=5a86675d3b6110b2d05a4cdcc777e55812fce1d2;hpb=05c240953a7989af72c461bd9e2e37bac0fe2a66;p=koha_fer diff --git a/circ/reserveratios.pl b/circ/reserveratios.pl index 5a86675d3b..55eb01825a 100755 --- a/circ/reserveratios.pl +++ b/circ/reserveratios.pl @@ -21,17 +21,17 @@ use strict; use warnings; +use CGI; +use Date::Calc qw/Today Add_Delta_YM/; + use C4::Context; use C4::Output; -use CGI; use C4::Auth; use C4::Dates qw/format_date format_date_in_iso/; use C4::Debug; -use Date::Calc qw/Today Add_Delta_YM/; use C4::Biblio qw/GetMarcBiblio GetRecordValue GetFrameworkCode/; my $input = new CGI; -my $order = $input->param('order') || ''; my $startdate = $input->param('from'); my $enddate = $input->param('to'); my $ratio = $input->param('ratio'); @@ -61,15 +61,17 @@ if (!defined($startdate) or $startdate !~ s/^\s*(\S+)\s*$/$1/) { # strip space if (!defined($enddate) or $enddate !~ s/^\s*(\S+)\s*$/$1/) { # strip spaces, remove Taint $enddate = format_date($todaysdate); } -if (!defined($ratio) or $ratio !~ s/^\s*(0?\.?\d+)(\.0*)?\s*$/$1/) { # strip spaces, remove Taint +if (!defined($ratio)) { $ratio = 3; } -if ($ratio == 0) { +# Force to be a number +$ratio += 0; +if ($ratio <= 0) { $ratio = 1; # prevent division by zero } my $dbh = C4::Context->dbh; -my ($sqlorderby, $sqldatewhere) = ("",""); +my $sqldatewhere = ""; $debug and warn format_date_in_iso($startdate) . "\n" . format_date_in_iso($enddate); my @query_params = (); if ($startdate) { @@ -81,23 +83,6 @@ if ($enddate) { push @query_params, format_date_in_iso($enddate); } -if ($order eq "biblio") { - $sqlorderby = " ORDER BY biblio.title, holdingbranch, listcall, l_location "; -} elsif ($order eq "callnumber") { - $sqlorderby = " ORDER BY listcall, holdingbranch, l_location "; -} elsif ($order eq "itemcount") { - $sqlorderby = " ORDER BY itemcount, reservecount "; -} elsif ($order eq "itype") { - $sqlorderby = " ORDER BY l_itype, holdingbranch, listcall "; -} elsif ($order eq "location") { - $sqlorderby = " ORDER BY l_location, holdingbranch, listcall "; -} elsif ($order eq "reservecount") { - $sqlorderby = " ORDER BY reservecount DESC "; -} elsif ($order eq "branch") { - $sqlorderby = " ORDER BY holdingbranch, l_location, listcall "; -} else { - $sqlorderby = " ORDER BY reservecount DESC "; -} my $strsth = "SELECT reservedate, reserves.borrowernumber as borrowernumber, @@ -123,17 +108,17 @@ my $strsth = FROM reserves LEFT JOIN items ON items.biblionumber=reserves.biblionumber LEFT JOIN biblio ON reserves.biblionumber=biblio.biblionumber - WHERE -notforloan = 0 AND damaged = 0 AND itemlost = 0 AND wthdrawn = 0 + WHERE + notforloan = 0 AND damaged = 0 AND itemlost = 0 AND withdrawn = 0 $sqldatewhere "; -if (C4::Context->preference('IndependantBranches')){ - $strsth .= " AND items.holdingbranch=? "; +if (C4::Context->preference('IndependentBranches')){ + $strsth .= " AND items.holdingbranch=? "; push @query_params, C4::Context->userenv->{'branch'}; } -$strsth .= " GROUP BY reserves.biblionumber " . $sqlorderby; +$strsth .= " GROUP BY reserves.biblionumber ORDER BY reservecount DESC"; $template->param(sql => $strsth); my $sth = $dbh->prepare($strsth); @@ -182,7 +167,6 @@ $template->param( to => $enddate, ratio => $ratio, reserveloop => \@reservedata, - DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); output_html_with_http_headers $input, $cookie, $template->output;