}
sub remove_tag {
- my $tag_id = shift or return undef;
+ my $tag_id = shift or return;
my $user_id = (@_) ? shift : undef;
my $rows = (defined $user_id) ?
get_tag_rows({tag_id=>$tag_id, borrowernumber=>$user_id}) :
get_tag_rows({tag_id=>$tag_id}) ;
$rows or return 0;
- (scalar(@$rows) == 1) or return undef; # should never happen (duplicate ids)
+ (scalar(@$rows) == 1) or return; # should never happen (duplicate ids)
my $row = shift(@$rows);
($tag_id == $row->{tag_id}) or return 0;
my $tags = get_tags({term=>$row->{term}, biblionumber=>$row->{biblionumber}});
}
sub delete_tag_index {
- (@_) or return undef;
+ (@_) or return;
my $sth = C4::Context->dbh->prepare("DELETE FROM tags_index WHERE term = ? AND biblionumber = ? LIMIT 1");
$sth->execute(@_);
return $sth->rows || 0;
}
sub delete_tag_approval {
- (@_) or return undef;
+ (@_) or return;
my $sth = C4::Context->dbh->prepare("DELETE FROM tags_approval WHERE term = ? LIMIT 1");
$sth->execute(shift);
return $sth->rows || 0;
}
sub delete_tag_row_by_id {
- (@_) or return undef;
+ (@_) or return;
my $sth = C4::Context->dbh->prepare("DELETE FROM tags_all WHERE tag_id = ? LIMIT 1");
$sth->execute(shift);
return $sth->rows || 0;
}
sub delete_tag_rows_by_ids {
- (@_) or return undef;
+ (@_) or return;
my $i=0;
foreach(@_) {
$i += delete_tag_row_by_id($_);
}
sub is_approved {
- my $term = shift or return undef;
+ my $term = shift or return;
my $sth = C4::Context->dbh->prepare("SELECT approved FROM tags_approval WHERE term = ?");
$sth->execute($term);
unless ($sth->rows) {
}
sub get_tag_index {
- my $term = shift or return undef;
+ my $term = shift or return;
my $sth;
if (@_) {
$sth = C4::Context->dbh->prepare("SELECT * FROM tags_index WHERE term = ? AND biblionumber = ?");
sub whitelist {
my $operator = shift;
- defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+ defined $operator or return; # have to test defined to allow =0 (kohaadmin)
if ($ext_dict) {
foreach (@_) {
spellcheck($_) or next;
# a term mistakenly, you can still reverse it. But there is no going back to "neutral".
sub blacklist {
my $operator = shift;
- defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+ defined $operator or return; # have to test defined to allow =0 (kohaadmin)
foreach (@_) {
my $aref = get_approval_rows({term=>$_});
if ($aref and scalar @$aref) {
}
sub add_filter {
my $operator = shift;
- defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+ defined $operator or return; # have to test defined to allow =0 (kohaadmin)
my $query = "INSERT INTO tags_blacklist (regexp,y,z) VALUES (?,?,?)";
# my $sth = C4::Context->dbh->prepare($query);
return scalar @_;
}
sub remove_filter {
my $operator = shift;
- defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
+ defined $operator or return; # have to test defined to allow =0 (kohaadmin)
my $query = "REMOVE FROM tags_blacklist WHERE blacklist_id = ?";
# my $sth = C4::Context->dbh->prepare($query);
# $sth->execute($term);
sub add_tag_approval { # or disapproval
$debug and warn "add_tag_approval(" . join(", ",map {defined($_) ? $_ : 'UNDEF'} @_) . ")";
- my $term = shift or return undef;
+ my $term = shift or return;
my $query = "SELECT * FROM tags_approval WHERE term = ?";
my $sth = C4::Context->dbh->prepare($query);
$sth->execute($term);
sub mod_tag_approval {
my $operator = shift;
- defined $operator or return undef; # have to test defined to allow =0 (kohaadmin)
- my $term = shift or return undef;
+ defined $operator or return; # have to test defined to allow =0 (kohaadmin)
+ my $term = shift or return;
my $approval = (scalar @_ ? shift : 1); # default is to approve
my $query = "UPDATE tags_approval SET approved_by=?, approved=?, date_approved=NOW() WHERE term = ?";
$debug and print STDERR "mod_tag_approval query: $query\nmod_tag_approval args: ($operator,$approval,$term)\n";
}
sub add_tag_index {
- my $term = shift or return undef;
- my $biblionumber = shift or return undef;
+ my $term = shift or return;
+ my $biblionumber = shift or return;
my $query = "SELECT * FROM tags_index WHERE term = ? AND biblionumber = ?";
my $sth = C4::Context->dbh->prepare($query);
$sth->execute($term,$biblionumber);
}
sub get_tag { # by tag_id
- (@_) or return undef;
+ (@_) or return;
my $sth = C4::Context->dbh->prepare("$select_all WHERE tag_id = ?");
$sth->execute(shift);
return $sth->fetchrow_hashref;
} else {
$sth->execute();
}
- my $results = $sth->fetchall_arrayref({}) or return undef;
+ my $results = $sth->fetchall_arrayref({}) or return;
my %tally = ();
foreach (@$results) {
_set_weight($_->{count},$_->{term},$_->{biblionumber});
}
sub add_tag { # biblionumber,term,[borrowernumber,approvernumber]
- my $biblionumber = shift or return undef;
- my $term = shift or return undef;
+ my $biblionumber = shift or return;
+ my $term = shift or return;
my $borrowernumber = (@_) ? shift : 0; # the user, default to kohaadmin
$term =~ s/^\s+//;
$term =~ s/\s+$//;
- ($term) or return undef; # must be more than whitespace
+ ($term) or return; # must be more than whitespace
my $rows = get_tag_rows({biblionumber=>$biblionumber, borrowernumber=>$borrowernumber, term=>$term, limit=>1});
my $query = "INSERT INTO tags_all
(borrowernumber,biblionumber,term,date_created)
"add_tag query args: ($borrowernumber,$biblionumber,$term)\n";
if (scalar @$rows) {
$debug and carp "Duplicate tag detected. Tag not added.";
- return undef;
+ return;
}
# add to tags_all regardless of approaval
my $sth = C4::Context->dbh->prepare($query);