Viewing file: save_authuser.cgi (1.17 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # save_authuser.cgi # Save, create or delete a user
require './apache-lib.pl'; require './auth-lib.pl';
&ReadParse(); &allowed_auth_file($in{'file'}) || &error(&text('authu_ecannot', $in{'file'})); if ($in{'delete'}) { # Deleting a user &delete_authuser($in{'file'}, $in{'olduser'}); } else { # Creating or updating &error_setup($text{'authu_err'}); $in{'user'} =~ /\S/ || &error($text{'authu_euser'}); $in{'user'} !~ /:/ || &error($text{'authu_euser2'});
$oldu = &get_authuser($in{'file'}, $in{'olduser'}); $uinfo{'user'} = $in{'user'}; if ($in{'mode'}) { $uinfo{'pass'} = $in{'enc'}; } else { $salt = chr(int(rand(26))+65).chr(int(rand(26))+65); $uinfo{'pass'} = &unix_crypt($in{'pass'}, $salt); }
if (defined($in{'olduser'})) { # updating an old user if ($in{'olduser'} ne $in{'user'} && &get_authuser($in{'file'}, $in{'user'})) { &error(&text('authu_edup', $in{'user'})); } &save_authuser($in{'file'}, $in{'olduser'}, \%uinfo); } else { # creating a new one if (&get_authuser($in{'file'}, $in{'user'})) { &error(&text('authu_edup', $in{'user'})); } &create_authuser($in{'file'}, \%uinfo); } } &redirect($in{'url'});
|