BEGIN {
require Exporter;
@ISA = qw(Exporter);
- @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
- getallreviews approvereview unapprovereview deletereview);
+ @EXPORT = qw(savereview updatereview numberofreviewsbybiblionumber);
}
=head1 NAME
use C4::Review;
- my $review=getreview($biblionumber,$borrowernumber);
savereview($biblionumber,$borrowernumber,$review);
updatereview($biblionumber,$borrowernumber,$review);
- my $count=numberofreviews($status);
my $count=numberofreviewsbybiblionumber($biblionumber);
- my $reviews=getallreviews($status, [$offset], [$row_count]);
=head1 DESCRIPTION
=head1 FUNCTIONS
-=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 );
- return $sth->fetchrow_hashref();
-}
-
=head2 savereview
savereview($biblionumber,$borrowernumber, $review);
$sth->execute( $review, $borrowernumber, $biblionumber );
}
-=head2 numberofreviews
-
- my $count=numberofreviews( [$status] );
-
-Return the number of reviews where in the 'reviews' database : 'approved' = $status
-(By default $status = 1)
-
-=cut
-
-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;
-}
-
=head2 numberofreviewsbybiblionumber
my $count=numberofreviewsbybiblionumber($biblionumber);
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);
-
-Takes a reviewid and marks that review approved
-
-=cut
-
-sub approvereview {
- my ($reviewid) = @_;
- my $dbh = C4::Context->dbh();
- my $query = "UPDATE reviews
- SET approved=?
- WHERE reviewid=?";
- my $sth = $dbh->prepare($query);
- $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);
-
-Takes a reviewid and deletes it
-
-=cut
-
-sub deletereview {
- my ($reviewid) = @_;
- my $dbh = C4::Context->dbh();
- my $query = "DELETE FROM reviews
- WHERE reviewid=?";
- my $sth = $dbh->prepare($query);
- $sth->execute($reviewid);
-}
-
1;
__END__