User account expiration control panel for SME Server
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
use esmith::AccountsDB;
|
|
|
|
use esmith::templates;
|
|
|
|
use esmith::util;
|
|
|
|
use User::pwent;
|
|
|
|
|
|
|
|
my $a = esmith::AccountsDB->open 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 $home = getpwnam($userName)->dir;
|
|
|
|
unless (-d $home . '/.lock-auto-reply'){
|
|
|
|
mkdir $home . '/.lock-auto-reply';
|
|
|
|
esmith::util::chownFile($userName, $userName, $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);
|