3 # Copyright 2000-2002 Katipo Communications
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
25 use vars qw(@ISA @EXPORT);
30 @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
36 C4::Review - Perl Module containing routines for dealing with reviews of items
42 my $review=getreview($biblionumber,$borrowernumber);
43 savereview($biblionumber,$borrowernumber,$review);
44 updatereview($biblionumber,$borrowernumber,$review);
45 my $count=numberofreviews($status);
46 my $count=numberofreviewsbybiblionumber($biblionumber);
50 Review.pm provides many routines for manipulating reviews.
56 $review = getreview($biblionumber,$borrowernumber);
58 Takes a borrowernumber and a biblionumber and returns the review of that biblio
63 my ( $biblionumber, $borrowernumber ) = @_;
64 my $dbh = C4::Context->dbh;
65 my $query = "SELECT * FROM reviews WHERE biblionumber=? and borrowernumber=?";
66 my $sth = $dbh->prepare($query);
67 $sth->execute( $biblionumber, $borrowernumber );
68 return $sth->fetchrow_hashref();
73 savereview($biblionumber,$borrowernumber, $review);
75 Save a review in the 'reviews' database
80 my ( $biblionumber, $borrowernumber, $review ) = @_;
81 my $dbh = C4::Context->dbh;
82 my $query = "INSERT INTO reviews (borrowernumber,biblionumber,
83 review,approved,datereviewed) VALUES
85 my $sth = $dbh->prepare($query);
86 $sth->execute( $borrowernumber, $biblionumber, $review );
91 updateview($biblionumber,$borrowernumber, $review);
93 Update the review description in the 'reviews' database
98 my ( $biblionumber, $borrowernumber, $review ) = @_;
99 my $dbh = C4::Context->dbh;
100 my $query = "UPDATE reviews SET review=?,datereviewed=now(),approved=0 WHERE borrowernumber=? and biblionumber=?";
101 my $sth = $dbh->prepare($query);
102 $sth->execute( $review, $borrowernumber, $biblionumber );
105 =head2 numberofreviews
107 my $count=numberofreviews( [$status] );
109 Return the number of reviews where in the 'reviews' database : 'approved' = $status
110 (By default $status = 1)
114 sub numberofreviews {
116 my $status = ( defined($param) ? $param : 1 );
117 my $dbh = C4::Context->dbh;
118 my $query = "SELECT count(*) FROM reviews WHERE approved=?";
119 my $sth = $dbh->prepare($query);
120 $sth->execute($status);
121 return $sth->fetchrow;
124 =head2 numberofreviewsbybiblionumber
126 my $count=numberofreviewsbybiblionumber($biblionumber);
128 Return the number of reviews approved for a given biblionumber
132 sub numberofreviewsbybiblionumber {
133 my ($biblionumber) = @_;
134 my $dbh = C4::Context->dbh;
135 my $query = "SELECT count(*) FROM reviews WHERE biblionumber=? and approved=?";
136 my $sth = $dbh->prepare($query);
137 $sth->execute( $biblionumber, 1 );
138 return $sth->fetchrow;
143 deletereview($reviewid);
145 Takes a reviewid and deletes it
151 my $dbh = C4::Context->dbh();
152 my $query = "DELETE FROM reviews
154 my $sth = $dbh->prepare($query);
155 $sth->execute($reviewid);