mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Add to preserve hidden config options
This commit is contained in:
@@ -59,8 +59,8 @@ foreach $o (@lang_order_list) {
|
||||
|
||||
# Call any config pre-load function
|
||||
if (&foreign_func_exists($module, 'config_pre_load')) {
|
||||
&foreign_call($module, "config_pre_load", \%info, \@info_order)
|
||||
&foreign_call($module, "config_pre_load", \%einfo)
|
||||
&foreign_call($module, "config_pre_load", \%info, \@info_order);
|
||||
&foreign_call($module, "config_pre_load", \%einfo);
|
||||
}
|
||||
|
||||
@info_order = &unique(@info_order);
|
||||
@@ -344,6 +344,20 @@ foreach my $c (@info_order) {
|
||||
$config->{$c}, @p);
|
||||
}
|
||||
}
|
||||
|
||||
# If config fields are conditional (not displayed)
|
||||
# make sure to preserve system default values to
|
||||
# prevent changing behaviour of a module
|
||||
if (&foreign_exists($module) &&
|
||||
&foreign_require($module) &&
|
||||
&foreign_func_exists($module, 'config_preserve')) {
|
||||
my @config_preserve = &foreign_call($module, "config_preserve");
|
||||
my %oldmoduleconf;
|
||||
&read_file("$config_directory/$module/config", \%oldmoduleconf);
|
||||
foreach my $o (@config_preserve) {
|
||||
$config->{$o} = $oldmoduleconf{$o};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# config_in_section(§ion, &order, &config-info)
|
||||
|
||||
Reference in New Issue
Block a user