#!/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 "<b>$text{'check_desc'}</b><br>\n"; &$indent_print(); $cerr = &check_virtual_server_config(); &check_error($cerr) if ($cerr); &$outdent_print(); print "<b>$text{'check_done'}</b><p>\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'}<p>\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 "<p>$_[0]<p>\n"; print "</ul>\n"; print "<b><font color=#ff0000>$text{'check_failed'}</font></b><p>\n"; &ui_print_footer("", $text{'index_return'}); exit; }