[! use strict; use Proxmox::Utils; use Proxmox::Form; use Proxmox::Config::System; use Proxmox::ConfigServer; !] [- my $out = ''; my $frm = Proxmox::Form->new (\%fdat); my $system_cfg = $fdat{__system_config}; my $uri = $req_rec->uri; my $conn = Proxmox::ConfigClient::connect (); my $e; # verify input if ($frm->submit) { $fdat{email} =~ s/[,;]/ /g; my @alist = split (/\s+/, $fdat{email}); foreach my $email (@alist) { eval { Proxmox::Utils::check_field (__("Administrator EMail"), $email, 'EMAIL'); }; if ($@) { $e = $@; last; } } $fdat{email} = join (',', @alist); } if ($frm->submit && ($udat{AM} eq 'w')) { my $olang = $system_cfg->get ('administration', 'language'); if ($olang ne $fdat{language}) { Proxmox::Utils::set_lang ($fdat{language}); } } $frm->add_cfg_element('administration', 'dailyreport', 'bool', undef, __("Send Daily Reports")); $frm->add_cfg_element('administration', 'statlifetime', "number", undef, __("User Statistics Lifetime (days)")); $frm->add_cfg_element('administration', 'advfilter', 'bool', undef, __("Use Advanced Statistic Filters")); $frm->add_cfg_element('administration', 'syslogserver', 'text', '', __("Syslog Server")); $frm->add_cfg_element('administration', 'language', 'dropdown', 'C', __("Language"), [['C', 'English'], ['de', 'Deutsch'], ['es', 'Spanish'], ['fr', 'French'], ['it', 'Italian'], ['pt_br', 'Portuguese']]); $frm->add_cfg_element('administration', 'email', 'text', '', __("Administrator EMail")); $frm->add_element(__("send report now"), "link", "?action=send", ""); $frm->add_element("m3","hidden"); if (!defined ($e)) { if ($udat{action} eq 'send') { if ($udat{AM} eq 'w') { $conn->sendreport(); } else { $udat{popup_error} = Proxmox::Utils::msg ('nowr'); } } } else { $udat{popup_error} = $e; } if ($frm->submit==0) { $frm->load_cfg ($system_cfg); } else { if ($udat{AM} eq 'w') { if (!defined ($e)) { $frm->save_cfg ($system_cfg); # update .forward file $conn->rewrite_dot_forward ($fdat{email}); $conn->rewrite_config_syslog (); $conn->rewrite_config_apache (); $conn->service_cmd ('proxprox', 'reload'); $conn->service_cmd ('syslog', 'reload'); eval { $conn->service_cmd ('apache', 'restart'); }; } } else { $udat{popup_error} = Proxmox::Utils::msg ('nowr'); } } $out .= $frm->out_form; print OUT $out; -]