parent
475d18dbb0
commit
a8565bb7d4
1 changed files with 50 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||||||
|
#!/usr/bin/perl -w |
||||||
|
|
||||||
|
use strict; |
||||||
|
use esmith::ConfigDB; |
||||||
|
use esmith::AccountsDB; |
||||||
|
use esmith::templates; |
||||||
|
use User::pwent; |
||||||
|
|
||||||
|
my $a = esmith::AccountsDB->open_ro or |
||||||
|
die "Could not open AccountsDB\n"; |
||||||
|
|
||||||
|
my $event = shift; |
||||||
|
my $userName = shift; |
||||||
|
my @users; |
||||||
|
|
||||||
|
if (defined $userName){ |
||||||
|
my $user = $a->get($userName); |
||||||
|
die "Account $userName is not a user account; can't update the auto-reply message.\n" |
||||||
|
unless $user && $user->prop('type') eq "user"; |
||||||
|
@users = ($user); |
||||||
|
} |
||||||
|
else{ |
||||||
|
@users = ( $a->users ); |
||||||
|
} |
||||||
|
|
||||||
|
foreach my $user (@users){ |
||||||
|
my $userName = $user->key; |
||||||
|
|
||||||
|
my $pass = $user->prop('PasswordSet') || 'no'; |
||||||
|
next if $pass eq 'yes'; |
||||||
|
|
||||||
|
my $expired = $user->prop('ExpireLockedOn') || ''; |
||||||
|
next if $expired !~ (\d{4}\-\d{1,2}\-\d{1,2}); |
||||||
|
|
||||||
|
my $home = getpwnam($userName)->dir; |
||||||
|
mkdir $home . '/.lock-auto-reply' unless -d $home . '/.lock-auto-reply'; |
||||||
|
esmith::templates::processTemplate ({ |
||||||
|
MORE_DATA => { USERNAME => $userName }, |
||||||
|
TEMPLATE_PATH => "/.lock-auto-reply/message.txt", |
||||||
|
TEMPLATE_EXPAND_QUEUE => |
||||||
|
[ |
||||||
|
"/etc/e-smith/templates-user-custom", |
||||||
|
"/etc/e-smith/templates-user", |
||||||
|
], |
||||||
|
OUTPUT_PREFIX => "$home", |
||||||
|
PERMS => 0644, |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
exit (0); |
Loading…
Reference in new issue