[Koha-patches] [PATCH] Adding basic get_filters to Tags, centralizing "counts" code for Terms Summary.
Joe Atzberger
joe.atzberger at liblime.com
Wed May 28 01:06:00 CEST 2008
---
C4/Tags.pm | 34 +++++++++++++++++++++++++++++++++-
tags/review.pl | 22 +++-------------------
2 files changed, 36 insertions(+), 20 deletions(-)
diff --git a/C4/Tags.pm b/C4/Tags.pm
index 68591b4..f706ffc 100644
--- a/C4/Tags.pm
+++ b/C4/Tags.pm
@@ -26,7 +26,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
use vars qw($ext_dict $select_all @fields);
BEGIN {
- $VERSION = 0.02;
+ $VERSION = 0.03;
@ISA = qw(Exporter);
@EXPORT_OK = qw(
&get_tag &get_tags &get_tag_rows
@@ -39,6 +39,8 @@ BEGIN {
&blacklist
&whitelist
&is_approved
+ &approval_counts
+ &get_filters
);
# %EXPORT_TAGS = ();
$ext_dict = C4::Context->preference('TagsExternalDictionary');
@@ -60,6 +62,36 @@ INIT {
$select_all = "SELECT " . join(',', at fields) . "\n FROM tags_all\n";
}
+sub get_filters (;$) {
+ my $query = "SELECT * FROM tags_filters ";
+ my ($sth);
+ if (@_) {
+ $sth = C4::Context->dbh->prepare($query . " WHERE filter_id = ? ");
+ $sth->execute(shift);
+ } else {
+ $sth = C4::Context->dbh->prepare($query);
+ $sth->execute;
+ }
+ return $sth->fetchall_arrayref({});
+}
+
+# (SELECT count(*) FROM tags_all ) as tags_all,
+# (SELECT count(*) FROM tags_index ) as tags_index,
+
+sub approval_counts () {
+ my $query = "SELECT
+ (SELECT count(*) FROM tags_approval WHERE approved= 1) as approved_count,
+ (SELECT count(*) FROM tags_approval WHERE approved=-1) as rejected_count,
+ (SELECT count(*) FROM tags_approval WHERE approved= 0) as unapproved_count
+ ";
+ my $sth = C4::Context->dbh->prepare($query);
+ $sth->execute;
+ my $result = $sth->fetchrow_hashref();
+ $result->{approved_total} = $result->{approved_count} + $result->{rejected_count} + $result->{unapproved_count};
+ $debug and warn "counts returned: " . Dumper $result;
+ return $result;
+}
+
sub remove_tag ($;$) {
my $tag_id = shift or return undef;
my $user_id = (@_) ? shift : undef;
diff --git a/tags/review.pl b/tags/review.pl
index 010f133..f6e9501 100755
--- a/tags/review.pl
+++ b/tags/review.pl
@@ -26,29 +26,13 @@ use POSIX;
use CGI;
use CGI::Cookie; # need to check cookies before having CGI parse the POST request
-use C4::Auth qw(:DEFAULT check_cookie_auth);;
+use C4::Auth qw(:DEFAULT check_cookie_auth);
use C4::Context;
use C4::Dates qw(format_date format_date_in_iso);
# use C4::Koha;
use C4::Output 3.02 qw(:html :ajax pagination_bar);
use C4::Debug;
-use C4::Tags 0.02 qw(get_tags get_approval_rows whitelist blacklist is_approved);
-
-sub counts () {
- my $query = "SELECT " .
- # (SELECT count(*) FROM tags_all ) as tags_all,
- # (SELECT count(*) FROM tags_index ) as tags_index,
- " (SELECT count(*) FROM tags_approval WHERE approved= 1) as approved_count,
- (SELECT count(*) FROM tags_approval WHERE approved=-1) as rejected_count,
- (SELECT count(*) FROM tags_approval WHERE approved= 0) as unapproved_count
- ";
- my $sth = C4::Context->dbh->prepare($query);
- $sth->execute;
- my $result = $sth->fetchrow_hashref();
- $result->{approved_total} = $result->{approved_count} + $result->{rejected_count} + $result->{unapproved_count};
- $debug and warn "counts returned: " . Dumper $result;
- return $result;
-}
+use C4::Tags 0.03 qw(get_tags get_approval_rows approval_counts whitelist blacklist is_approved);
my $script_name = "/cgi-bin/koha/tags/review.pl";
my $needed_flags = { tools => 'moderate_comments' }; # FIXME: replace when more specific permission is created.
@@ -124,7 +108,7 @@ $borrowernumber == 0 and push @errors, {op_zero=>1};
);
}
-my $counts = &counts;
+my $counts = &approval_counts;
foreach (keys %$counts) {
$template->param($_ => $counts->{$_});
}
--
1.5.5.GIT
More information about the Koha-patches
mailing list