# 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
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
+use warnings;
+
use C4::Context;
use vars qw($VERSION @ISA @EXPORT);
$VERSION = 3.00;
require Exporter;
@ISA = qw(Exporter);
- @EXPORT = qw(getreview savereview updatereview numberofreviews
+ @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
getreviews getallreviews approvereview deletereview);
}
"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;
+ return $sth->fetchrow_hashref();
}
sub savereview {
(?,?,?,0,now())";
my $sth = $dbh->prepare($query);
$sth->execute( $borrowernumber, $biblionumber, $review);
- $sth->finish();
}
sub updatereview {
my $query = "UPDATE reviews SET review=?,datereviewed=now(),approved=0 WHERE borrowernumber=? and biblionumber=?";
my $sth = $dbh->prepare($query);
$sth->execute( $review, $borrowernumber, $biblionumber );
- $sth->finish();
}
sub numberofreviews {
+ my $dbh = C4::Context->dbh;
+ my $query =
+ "SELECT count(*) FROM reviews WHERE approved=?";
+ my $sth = $dbh->prepare($query);
+ $sth->execute( 1 );
+ return $sth->fetchrow;
+}
+
+sub numberofreviewsbybiblionumber {
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(*)'} );
+ return $sth->fetchrow;
}
sub getreviews {
"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 );
+ return $sth->fetchall_arrayref({});
}
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);
- my @results;
- while ( my $data = $sth->fetchrow_hashref() ) {
- push @results, $data;
- }
- $sth->finish();
- return ( \@results );
+ "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({});
}
=head2 approvereview
WHERE reviewid=?";
my $sth = $dbh->prepare($query);
$sth->execute( 1, $reviewid );
- $sth->finish();
}
=head2 deletereview
WHERE reviewid=?";
my $sth = $dbh->prepare($query);
$sth->execute($reviewid);
- $sth->finish();
}
1;