our $db;
-our $Version = '2.0';
+our $VERSION = '2.0';
# Globals
my $userid = $ENV{MAPS_USERNAME} ? $ENV{MAPS_USERNAME} : $ENV{USER};
CountEmail
CountList
CountLog
+ CountLogDistinct
Decrypt
DeleteEmail
DeleteList
$db = MyDB->new($username, $password, $dbname, $dbserver);
croak "Unable to instantiate MyDB ($username\@$dbserver:$dbname)" unless $db;
+
+ return;
} # OpenDB
BEGIN {
# Add to white list
$params{sequence} = 0;
+
my ($err, $msg) = AddList(%params);
return -$err, $msg if $err;
while (my $rec = $db->getnext) {
last unless $rec->{userid};
- $status = Whitelist($rec->{sender}, $rec->data);
+ $status = Whitelist($rec->{sender}, $rec->{data});
last if $status;
} # for
return ($err, $msg) if $err;
+ return;
} # AddUserOptions
sub Blacklist(%) {
my $condition = "userid='$userid'";
$condition .= " and $additional_condition" if $additional_condition;
- return $db->count_distinct('log', 'sender', $condition);
+ return $db->count('log', $condition);
+} # CountLog
+
+sub CountLogDistinct(%) {
+ my (%params) = @_;
+
+ CheckParms(['userid', 'column'], \%params);
+
+ my ($additional_condition) = delete $params{additional} || '';
+
+ my $condition = "userid='$userid'";
+ $condition .= " and $additional_condition" if $additional_condition;
+
+ return $db->count_distinct('log', $params{column}, $condition);
} # CountLog
sub Decrypt ($$) {
sub GetUserInfo($) {
my ($userid) = @_;
- my $userinfo = $db->getone('user', "userid='$userid'", ['name', 'email']);
-
return %{$db->getone('user', "userid='$userid'", ['name', 'email'])};
-
- return %$userinfo;
} # GetUserInfo
sub GetUserOptions($) {
# Finally slice for the given range
my $end_at = $params{start_at} + $params{lines} - 1;
- $end_at = (@senders - 1)
- if $end_at > @senders;
+ $end_at = (@senders - 1) if $end_at >= @senders;
return (@senders) [$params{start_at} .. $end_at];
} # ReturnSenders
if (UserExists($to_user)) {
$userid = $to_user;
- return GetUserInfo $userid;
+ return GetUserOptions $userid;
} else {
return 0;
} # if
my $table = 'list';
my $condition = "userid = '$rec{userid}' and type = '$rec{type}' and sequence = $rec{sequence}";
- if ($rec{pattern} =~ /\@/ and !$rec{domain}) {
+ if ($rec{pattern} =~ /\@/ && !$rec{domain}) {
($rec{pattern}, $rec{domain}) = split /\@/, $rec{pattern};
- } elsif (!$rec{pattern} and $rec{domain} =~ /\@/) {
+ } elsif (!$rec{pattern} && $rec{domain} =~ /\@/) {
($rec{pattern}, $rec{domain}) = split /\@/, $rec{domain};
- } elsif (!$rec{pattern} and !$rec{domain}) {
+ } elsif (!$rec{pattern} && !$rec{domain}) {
return "Must specify either Username or Domain";
} # if