| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/htaccess-htpasswd/ |
Upload File : |
#!/usr/bin/perl
# Create, update or delete a group
require './htaccess-lib.pl';
&ReadParse();
&error_setup($text{'gsave_err'});
@dirs = &list_directories();
($dir) = grep { $_->[0] eq $in{'dir'} } @dirs;
&can_access_dir($dir->[0]) || &error($text{'dir_ecannot'});
&lock_file($dir->[1]);
&switch_user();
$groups = &list_groups($dir->[4]);
if (!$in{'new'}) {
$group = $groups->[$in{'idx'}];
$loggroup = $group->{'group'};
}
else {
$loggroup = $in{'group'};
}
if ($in{'delete'}) {
# Just delete this group
&delete_group($group);
}
else {
# Validate inputs
$in{'group'} || &error($text{'gsave_egroup1'});
$in{'group'} =~ /:/ && &error($text{'gsave_egroup2'});
$in{'group'} =~ /^\S+$/ || &error($text{'gsave_egroup2'});
if ($in{'new'} || $group->{'group'} ne $in{'group'}) {
($clash) = grep { $_->{'group'} eq $in{'group'} } @$groups;
$clash && &error($text{'gsave_eclash'});
}
# Actually save
$group->{'group'} = $in{'group'};
$group->{'enabled'} = $in{'enabled'};
$group->{'members'} = [ split(/\s+/, $in{'members'}) ];
if ($in{'new'}) {
&create_group($group, $dir->[4]);
}
else {
&modify_group($group);
}
}
&switch_back();
&unlock_file($dir->[1]);
&webmin_log($in{'delete'} ? "delete" : $in{'new'} ? "create" : "modify",
"group", $loggroup, $group);
&redirect("");