@@ -, +, @@ --- C4/Review.pm | 25 +------------------- .../opac-tmpl/bootstrap/en/modules/opac-review.tt | 1 + opac/opac-showreviews.pl | 13 +++++++--- reviews/reviewswaiting.pl | 14 +++++++---- 4 files changed, 22 insertions(+), 31 deletions(-) --- a/C4/Review.pm +++ a/C4/Review.pm @@ -28,7 +28,7 @@ BEGIN { require Exporter; @ISA = qw(Exporter); @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber - getallreviews approvereview unapprovereview deletereview); + approvereview unapprovereview deletereview); } =head1 NAME @@ -44,7 +44,6 @@ C4::Review - Perl Module containing routines for dealing with reviews of items updatereview($biblionumber,$borrowernumber,$review); my $count=numberofreviews($status); my $count=numberofreviewsbybiblionumber($biblionumber); - my $reviews=getallreviews($status, [$offset], [$row_count]); =head1 DESCRIPTION @@ -139,28 +138,6 @@ sub numberofreviewsbybiblionumber { return $sth->fetchrow; } -=head2 getallreviews - - my $reviews=getallreviews($status, [$offset], [$row_count]); - -Return all reviews where in the 'reviews' database : 'approved' = $status - -If offset and row_count are fiven, it's return all reviews between the -$offset position and the ($offset + $row_count) position. -(By default : $offset = 0 and $row_count = 20) - -=cut - -sub getallreviews { - my ( $status, $offset, $row_count ) = @_; - my @params = ( $status, ( $offset ? $offset : 0 ), ( $row_count ? $row_count : 20 ) ); - my $dbh = C4::Context->dbh; - my $query = "SELECT * FROM reviews WHERE approved=? order by datereviewed desc LIMIT ?, ?"; - my $sth = $dbh->prepare($query); - $sth->execute(@params); - return $sth->fetchall_arrayref( {} ); -} - =head2 approvereview approvereview($reviewid); --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt +++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt @@ -62,6 +62,7 @@ //param("format") || ''; my $count = C4::Context->preference('OPACnumSearchResults') || 20; my $results_per_page = $query->param('count') || $count; my $offset = $query->param('offset') || 0; -my $page = $query->param('page') || 1; -$offset = ($page-1)*$results_per_page if $page>1; +my $page = $offset / $results_per_page + 1; if ($format eq "rss") { $template_name = "opac-showreviews-rss.tt"; @@ -76,7 +76,14 @@ if ( C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowRe } } -my $reviews = getallreviews(1,$offset,$results_per_page); +my $reviews = Koha::Reviews->search( + { approved => 1 }, + { + rows => $results_per_page, + page => $page, + order_by => { -desc => 'datereviewed' }, + } +)->unblessed; my $marcflavour = C4::Context->preference("marcflavour"); my $hits = numberofreviews(1); my $i = 0; --- a/reviews/reviewswaiting.pl +++ a/reviews/reviewswaiting.pl @@ -15,8 +15,7 @@ # You should have received a copy of the GNU General Public License # along with Koha; if not, see . -use strict; -use warnings; +use Modern::Perl; use CGI qw ( -utf8 ); use C4::Auth; @@ -25,6 +24,7 @@ use C4::Context; use C4::Review; use C4::Members; use C4::Biblio; +use Koha::Reviews; my $query = new CGI; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( @@ -43,7 +43,6 @@ my $status = $query->param('status') || 0; my $reviewid = $query->param('reviewid'); my $page = $query->param('page') || 1; my $count = C4::Context->preference('numSearchResults') || 20; -my $offset = ($page-1) * $count; my $total = numberofreviews($status); if ( $op eq 'approve' ) { @@ -56,7 +55,14 @@ elsif ( $op eq 'delete' ) { deletereview($reviewid); } -my $reviews = getallreviews($status,$offset,$count); +my $reviews = Koha::Reviews->search( + { approved => $status }, + { + rows => $count, + page => $page, + order_by => { -desc => 'datereviewed' }, + } +)->unblessed; foreach ( @$reviews ) { my $borrowernumber = $_->{borrowernumber}; --