1
|
#!/usr/bin/perl
|
2
|
# save_user.cgi
|
3
|
# Save, create or delete a MON user
|
4
|
|
5
|
require './mon-lib.pl';
|
6
|
&ReadParse();
|
7
|
&error_setup($text{'user_err'});
|
8
|
@users = &list_users();
|
9
|
$user = $users[$in{'index'}] if ($in{'index'} ne '');
|
10
|
|
11
|
if ($in{'delete'}) {
|
12
|
# Just delete the user
|
13
|
&delete_user($user);
|
14
|
}
|
15
|
else {
|
16
|
# Validate inputs
|
17
|
$in{'user'} =~ /^[^:\s]+$/ || &error($text{'user_euser'});
|
18
|
if ($in{'new'} || $in{'user'} ne $user->{'user'}) {
|
19
|
local ($same) = grep { $_->{'user'} eq $in{'user'} } @users;
|
20
|
$same && &error($text{'user_esame'});
|
21
|
}
|
22
|
|
23
|
# Create or update the user
|
24
|
$salt = substr(time(), -2);
|
25
|
$user->{'user'} = $in{'user'};
|
26
|
if (!$in{'pass_def'}) {
|
27
|
$user->{'pass'} = &unix_crypt($in{'pass'}, $salt);
|
28
|
}
|
29
|
if ($in{'new'}) {
|
30
|
&create_user($user);
|
31
|
}
|
32
|
else {
|
33
|
&modify_user($user);
|
34
|
}
|
35
|
}
|
36
|
|
37
|
&redirect("list_users.cgi");
|
38
|
|