From 9796fc3b87227d896a8470cab346cf5633b2a844 Mon Sep 17 00:00:00 2001 From: rangi Date: Sat, 3 Sep 2005 00:05:40 +0000 Subject: [PATCH] A work in progress still. This module is for dealing with user submitted reviews of items Currently it allows (with some scripts) a user to review any item on their reading record. The review is marked unvetted, and a librarian must vette and approve the review before it can show to the public The scripts to add/edit a review, and to display them for the opac are done. The script to display a list of reviews waiting vetting for the librarians has also been done. --- C4/Review.pm | 152 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 C4/Review.pm diff --git a/C4/Review.pm b/C4/Review.pm new file mode 100644 index 0000000000..1522a1102a --- /dev/null +++ b/C4/Review.pm @@ -0,0 +1,152 @@ +package C4::Review; + +# Copyright 2000-2002 Katipo Communications +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with +# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +require Exporter; +use C4::Context; + +use vars qw($VERSION @ISA @EXPORT); + +$VERSION = 0.01; + +=head1 NAME + +C4::Review - Perl Module containing routines for dealing with reviews of items + +=head1 SYNOPSIS + + use C4::Review; + + + my $review=getreview($biblionumber,$borrowernumber); + savereview($biblionumber,$borrowernumber,$review); + updatereview($biblionumber,$borrowernumber,$review); + my $count=numberofreviews($biblionumber); + my $reviews=getreviews($biblionumber); + my $reviews=getallreviews($status); + +=head1 DESCRIPTION + +Review.pm provides many routines for manipulating reviews. + +=head1 FUNCTIONS + +=over 2 + +=cut + +@ISA = qw(Exporter); +@EXPORT = qw(getreview savereview updatereview numberofreviews + getreviews getallreviews ); + +use vars qw(); + +my $DEBUG = 0; + +=head2 getreview + + $review = getreview($biblionumber,$borrowernumber); + +Takes a borrowernumber and a biblionumber and returns the review of that biblio + + +=cut + +sub getreview { + my ($biblionumber,$borrowernumber) = @_; + my $dbh=C4::Context->dbh; + my $query="SELECT * FROM reviews WHERE biblionumber=? and borrowernumber=?"; + my $sth=$dbh->prepare($query); + $sth->execute($biblionumber,$borrowernumber); + my $review = $sth->fetchrow_hashref(); + $sth->finish(); + return $review; + } + +sub savereview { + my ($biblionumber,$borrowernumber,$review) = @_; + my $dbh=C4::Context->dbh; + my $query="INSERT INTO reviews (borrowernumber,biblionumber, + review,approved,datereviewed) VALUES + (?,?,?,?,now())"; + my $sth=$dbh->prepare($query); + $sth->execute($borrowernumber,$biblionumber,$review,0); + $sth->finish(); + } + +sub updatereview { + my ($biblionumber,$borrowernumber,$review) = @_; + my $dbh=C4::Context->dbh; + my $query="UPDATE reviews SET review=?,datereviewed=now(),approved=? + WHERE borrowernumber=? and biblionumber=?"; + my $sth=$dbh->prepare($query); + $sth->execute($review,0,$borrowernumber,$biblionumber); + $sth->finish(); + + } + +sub numberofreviews { + my ($biblionumber)=@_; + my $dbh=C4::Context->dbh; + my $query="SELECT count(*) FROM reviews WHERE biblionumber=? and approved=?"; + my $sth=$dbh->prepare($query); + $sth->execute($biblionumber,1); + my $count=$sth->fetchrow_hashref; + + $sth->finish(); + return ($count->{'count(*)'}); +} + +sub getreviews { + my ($biblionumber,$approved)=@_; + my $dbh=C4::Context->dbh; + my $query="SELECT * FROM reviews WHERE biblionumber=? and approved=? order by datereviewed desc"; + my $sth=$dbh->prepare($query) || warn $dbh->err_str; + $sth->execute($biblionumber,$approved); + my @results; + while (my $data=$sth->fetchrow_hashref()){ + push @results,$data; + } + $sth->finish(); + return(\@results); +} + +sub getallreviews { + my ($status) =@_; + my $dbh=C4::Context->dbh; + my $query="SELECT * FROM reviews WHERE approved=? order by datereviewed desc"; + my $sth=$dbh->prepare($query); + $sth->execute($status); + my @results; + while (my $data=$sth->fetchrow_hashref()){ + push @results,$data; + } + $sth->finish(); + return(\@results); +} +1; +__END__ + +=back + +=head1 AUTHOR + +Koha Team + +=cut -- 2.39.5