$rec{hit_count} //= $db->count(
'email',
- "userid = '$rec{userid}' and sender like '$rec{sender}%'"
+ "userid = '$rec{userid}' and sender like '%$rec{sender}%'"
);
($rec{pattern}, $rec{domain}) = split /\@/, delete $rec{sender};
if ($username) {
if ($username =~ /(.*)\@(.*)/) {
return lc "$1\@$2";
+ } else {
+ return lc "$username\@";
} # if
} elsif ($domain) {
if ($domain =~ /(.*)\@(.*)/) {
? "$email_on_file\@"
: $email_on_file;
if ($sender and $sender =~ /$search_for/i) {
- $rule = "Matching rule: ($listtype:$rec->{sequence}) \"$email_on_file\"";
+ my $comment = $rec->{comment} ? " - $rec->{comment}" : '';
+
+ $rule = "Matching rule: ($listtype:$rec->{sequence}) \"$email_on_file$comment\"";
$rule .= " - $rec->{comment}" if $rec->{comment};
$status = 1;
return 0 unless $count;
+ $count = 0;
+
my ($err, $errmsg) = $db->find($table, $condition);
croak "Unable to find $params{type} entries for $condition - $errmsg" if $err;
$db->lock('write', $table);
# Get all records for $userid and $type
- my $listrecs = $db->get($table, $condition);
+ my $listrecs = $db->get($table, $condition,'*', 'order by hit_count desc');
# Delete all of the list entries for this $userid and $type
my ($count, $msg) = $db->delete($table, $condition);