From a8781cc4f90cc7399540fd0225d044120f7c4aee Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 13 Feb 2014 19:05:01 +0000 Subject: [PATCH] evade-mail-admin: new list-users action --- evade-mail-admin | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/evade-mail-admin b/evade-mail-admin index 930d718..0f81cc9 100755 --- a/evade-mail-admin +++ b/evade-mail-admin @@ -32,6 +32,7 @@ privileged actions list-user insert-exact donate + list-users enable-user|disable-user default generation method is alphanum END @@ -446,6 +447,30 @@ sub action_list_all { listq($q) } +sub action_list_users { + die unless $priv; + nomoreargs; + my $qo = $dbh->prepare("SELECT user, count(*) AS count FROM addrs". + " GROUP BY user ORDER BY user"); + my $qd = $dbh->prepare("SELECT 1 FROM disabled_users WHERE user = ?"); + my $qe = $dbh->prepare("SELECT count(*) FROM addrs". + " WHERE user = ? AND NOT redirect=''"); + $qo->execute(); + printf "# total inuse ena user\n" or die $!; + while (my $row = $qo->fetchrow_hashref) { + my $tu = $row->{user}; + $qd->execute($tu); + $qe->execute($tu); + my ($disabled) = $qd->fetchrow_array(); + my ($inuse) = $qe->fetchrow_array(); + printf "%6d %6d %s %s\n", + $row->{count}, + $inuse, $disabled ? '-' : 'y', + $tu + or die $!; + } +} + sub action_insert_exact { die unless $priv; my $row = { }; -- 2.30.2