4 sub useradmin_create_user
6 foreach $dir (&list_directories()) {
7 next if ($dir->[3] !~ /create/);
8 local $users = &list_users($dir->[1]);
9 local ($clash) = grep { $_->{'user'} eq $_[0]->{'user'} } @$users;
11 &lock_file($dir->[1]);
12 local $user = { 'user' => $_[0]->{'user'},
14 if ($_[0]->{'passmode'} == 0) {
17 elsif ($_[0]->{'passmode'} == 1) {
18 $user->{'pass'} = "*LK*";
20 elsif ($_[0]->{'passmode'} == 2) {
21 $user->{'pass'} = $_[0]->{'pass'};
24 $user->{'pass'} = &encrypt_password($_[0]->{'plainpass'},
25 undef, $config{'md5'});
27 &create_user($user, $dir->[1]);
28 &unlock_file($dir->[1]);
32 sub useradmin_modify_user
34 foreach $dir (&list_directories()) {
35 next if ($dir->[3] !~ /update/);
36 local $users = &list_users($dir->[1]);
37 local ($user) = grep { $_->{'user'} eq $_[0]->{'olduser'} } @$users;
39 &lock_file($dir->[1]);
40 $user->{'user'} = $_[0]->{'user'};
41 if ($_[0]->{'passmode'} == 0) {
44 elsif ($_[0]->{'passmode'} == 1) {
45 $user->{'pass'} = "*LK*";
47 elsif ($_[0]->{'passmode'} == 2) {
48 $user->{'pass'} = $_[0]->{'pass'};
50 elsif ($_[0]->{'passmode'} == 3) {
51 $user->{'pass'} = &encrypt_password($_[0]->{'plainpass'},
52 undef, $config{'md5'});
55 &unlock_file($dir->[1]);
59 sub useradmin_delete_user
61 foreach $dir (&list_directories()) {
62 next if ($dir->[3] !~ /update/);
63 local $users = &list_users($dir->[1]);
64 local ($user) = grep { $_->{'user'} eq $_[0]->{'user'} } @$users;
66 &lock_file($dir->[1]);
68 &unlock_file($dir->[1]);