mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
Allow modules to request not having a no-config ACL
This commit is contained in:
@ -54,17 +54,26 @@ if ($in{'mod'} && $in{'user'} && &supports_rbac($in{'mod'}) &&
|
||||
[ 0, $text{'no'} ] ]), 3);
|
||||
}
|
||||
|
||||
if ($in{'mod'}) {
|
||||
# Load custom ACL library
|
||||
my $mdir = &module_root_directory($in{'mod'});
|
||||
if (-r "$mdir/acl_security.pl") {
|
||||
&foreign_require($in{'mod'}, "acl_security.pl");
|
||||
}
|
||||
|
||||
my $shown_config = 0;
|
||||
if ($in{'mod'} && -r "$mdir/config.info" &&
|
||||
(!&foreign_defined($in{'mod'}, "acl_security_noconfig") ||
|
||||
!&foreign_call($in{'mod'}, "acl_security_noconfig"))) {
|
||||
# Show module config editing option
|
||||
print &ui_table_row($text{'acl_config'},
|
||||
&ui_radio("noconfig", $maccess{'noconfig'} ? 1 : 0,
|
||||
[ [ 0, $text{'yes'} ], [ 1, $text{'no'} ] ]), 3);
|
||||
$shown_config = 1;
|
||||
}
|
||||
|
||||
my $mdir = &module_root_directory($in{'mod'});
|
||||
# Show custom ACL form
|
||||
if (-r "$mdir/acl_security.pl") {
|
||||
print &ui_table_hr() if ($in{'mod'});
|
||||
&foreign_require($in{'mod'}, "acl_security.pl");
|
||||
print &ui_table_hr() if ($shown_config);
|
||||
&foreign_call($in{'mod'}, "load_theme_library");
|
||||
&foreign_call($in{'mod'}, "acl_security_form", \%maccess);
|
||||
}
|
||||
|
@ -49,7 +49,9 @@ else {
|
||||
# Validate and store ACL settings
|
||||
&error_setup($text{'acl_err'});
|
||||
my %maccess;
|
||||
$maccess{'noconfig'} = $in{'noconfig'};
|
||||
if (defined($in{'noconfig'})) {
|
||||
$maccess{'noconfig'} = $in{'noconfig'};
|
||||
}
|
||||
if ($in{'rbac'}) {
|
||||
# RBAC overrides everything
|
||||
$maccess{'rbac'} = 1;
|
||||
|
Reference in New Issue
Block a user