Files
webmin/pserver/useradmin_update.pl
Jamie Cameron 9dbd5db2c9 Fix permissions
2009-07-20 23:42:32 -07:00

52 lines
1.2 KiB
Perl
Executable File

do 'pserver-lib.pl';
# useradmin_create_user(&details)
# Create a new CVS user if syncing is enabled
sub useradmin_create_user
{
if ($config{'sync_create'}) {
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
local $user = { 'user' => $_[0]->{'user'},
'pass' => $_[0]->{'passmode'} == 3 ?
&unix_crypt($_[0]->{'plainpass'}, $salt) : $_[0]->{'pass'},
'unix' => $config{'sync_user'} };
&create_password($user);
}
}
# useradmin_delete_user(&details)
# Delete a mysql user
sub useradmin_delete_user
{
if ($config{'sync_delete'}) {
local @passwd = &list_passwords();
local ($user) = grep { $_->{'user'} eq $_[0]->{'user'} } @passwd;
&delete_password($user) if ($user);
}
}
# useradmin_modify_user(&details)
# Update a mysql user
sub useradmin_modify_user
{
if ($config{'sync_modify'}) {
local @passwd = &list_passwords();
local ($user) = grep { $_->{'user'} eq $_[0]->{'olduser'} } @passwd;
if ($user) {
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
$user->{'user'} = $_[0]->{'user'};
if ($_[0]->{'passmode'} == 3) {
$user->{'pass'} = &unix_crypt($_[0]->{'plainpass'}, $salt);
}
elsif ($_[0]->{'passmode'} != 4) {
$user->{'pass'} = $_[0]->{'pass'};
}
&modify_password($user);
}
}
}
1;