#!/usr/local/bin/perl
# check.cgi
# Make sure that all enabled features are valid, and check the status of quotas
require './virtual-server-lib.pl';
&can_check_config() || &error($text{'check_ecannot'});
&ui_print_unbuffered_header(undef, $text{'check_title'}, "");
&read_file("$module_config_directory/last-config", \%lastconfig);
print "$text{'check_desc'}
\n";
&$indent_print();
$cerr = &check_virtual_server_config();
&check_error($cerr) if ($cerr);
&$outdent_print();
print "$text{'check_done'}
\n"; # See if any options effecting Webmin users have changed $webminchanged = 0; foreach $k (keys %config) { if ($k =~ /^avail_/ || $k eq 'leave_acl' || $k eq 'webmin_modules' || &indexof($k, @features) >= 0) { $webminchanged++ if ($config{$k} != $lastconfig{$k}); } } if ($webminchanged) { if ($config{'post_check'}) { # Update all Webmin users &modify_all_webmin(); if ($virtualmin_pro) { &modify_all_resellers(); } } else { # Just offer to update print &ui_form_start("all_webmin.cgi"); print "$text{'check_needupdate'}
\n"; print &ui_form_end([ [ "now", $text{'check_updatenow'} ] ]); } } # Setup the licence cron job (if needed) &setup_licence_cron(); # Update the procmail setting for default delivery if ($config{'spam'}) { &setup_default_delivery(); } # Update the domain owner's group &update_domain_owners_group(); # Update preload settings if changed if ($virtualmin_pro && $config{'preload_mode'} != $lastconfig{'preload_mode'}) { &$first_print($text{'check_preload'}); &update_miniserv_preloads($config{'preload_mode'}); &restart_miniserv(); &$second_print($text{'setup_done'}); } &webmin_log("check"); # Call any theme post command if (defined(&theme_post_save_domain)) { &theme_post_save_domain(\%dom, 'modify'); } &ui_print_footer("", $text{'index_return'}); sub check_error { print "
$_[0]
\n"; print "\n"; print "$text{'check_failed'}
\n"; &ui_print_footer("", $text{'index_return'}); exit; }