2 # Change the current webmin theme overlay
4 require './webmin-lib.pl';
6 &error_setup($text{'themes_err4'});
8 # Get the overlay and make sure it is compatible
9 ($gtheme) = split(/\s+/, $gconfig{'theme'});
11 %oinfo = &get_theme_info($in{'overlay'});
12 if ($oinfo{'overlays'} &&
13 &indexof($gtheme, split(/\s+/, $oinfo{'overlays'})) < 0) {
14 &error($text{'themes_eoverlay'});
18 &lock_file("$config_directory/config");
20 $gconfig{'theme'} = join(" ", $gtheme, $in{'overlay'});
23 $gconfig{'theme'} = $gtheme;
25 &write_file("$config_directory/config", \%gconfig);
26 &unlock_file("$config_directory/config");
28 &lock_file($ENV{'MINISERV_CONFIG'});
29 &get_miniserv_config(\%miniserv);
31 $miniserv{'preroot'} = join(" ", $gtheme, $in{'overlay'});
34 $miniserv{'preroot'} = $gtheme;
36 &put_miniserv_config(\%miniserv);
37 &unlock_file($ENV{'MINISERV_CONFIG'});
40 &webmin_log('theme', undef, undef, \%in);
41 &ui_print_header(undef, $text{'themes_title'}, "");
42 print "$text{'themes_ok2'}<p>\n";
43 print &js_redirect("/", "top");
44 &ui_print_footer("", $text{'index_return'});