X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FReview.pm;h=dd989ed68996a5fdc97e2146ef416d0eb629df79;hb=d5cf28406b0b73fcb602071a3c0deeb1da201df4;hp=0b7dbc39518df178c5aad1c94f11686fb46feede;hpb=7279f55b60e02780df6b65c4c92ade9f413d5c01;p=koha.git diff --git a/C4/Review.pm b/C4/Review.pm index 0b7dbc3951..dd989ed689 100644 --- a/C4/Review.pm +++ b/C4/Review.pm @@ -26,11 +26,11 @@ use vars qw($VERSION @ISA @EXPORT); BEGIN { # set the version for version checking - $VERSION = 3.00; + $VERSION = 3.07.00.049; require Exporter; @ISA = qw(Exporter); - @EXPORT = qw(getreview savereview updatereview numberofreviews - getreviews getallreviews approvereview deletereview); + @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber + getreviews getallreviews approvereview unapprovereview deletereview); } =head1 NAME @@ -44,7 +44,8 @@ C4::Review - Perl Module containing routines for dealing with reviews of items my $review=getreview($biblionumber,$borrowernumber); savereview($biblionumber,$borrowernumber,$review); updatereview($biblionumber,$borrowernumber,$review); - my $count=numberofreviews($biblionumber); + my $count=numberofreviews($status); + my $count=numberofreviewsbybiblionumber($biblionumber); my $reviews=getreviews($biblionumber); my $reviews=getallreviews($status); @@ -91,6 +92,17 @@ sub updatereview { } sub numberofreviews { + my ($param) = @_; + my $status = (defined($param) ? $param : 1); + my $dbh = C4::Context->dbh; + my $query = + "SELECT count(*) FROM reviews WHERE approved=?"; + my $sth = $dbh->prepare($query); + $sth->execute( $status ); + return $sth->fetchrow; +} + +sub numberofreviewsbybiblionumber { my ($biblionumber) = @_; my $dbh = C4::Context->dbh; my $query = @@ -111,12 +123,13 @@ sub getreviews { } sub getallreviews { - my ($status) = @_; + 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"; - my $sth = $dbh->prepare($query); - $sth->execute($status); + "SELECT * FROM reviews WHERE approved=? order by datereviewed desc LIMIT ?, ?"; + my $sth = $dbh->prepare($query) || warn $dbh->err_str; + $sth->execute(@params); return $sth->fetchall_arrayref({}); } @@ -138,6 +151,24 @@ sub approvereview { $sth->execute( 1, $reviewid ); } +=head2 unapprovereview + + unapprovereview($reviewid); + +Takes a reviewid and marks that review as not approved + +=cut + +sub unapprovereview { + my ($reviewid) = @_; + my $dbh = C4::Context->dbh(); + my $query = "UPDATE reviews + SET approved=? + WHERE reviewid=?"; + my $sth = $dbh->prepare($query); + $sth->execute( 0, $reviewid ); +} + =head2 deletereview deletereview($reviewid);