Project

General

Profile

Download (823 Bytes) Statistics
| Branch: | Revision:
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

    
(43-43/46)