Server IP : 195.201.23.43 / Your IP : 3.17.156.160 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/webalizer/ |
Upload File : |
#!/usr/bin/perl # save_global.cgi # Save options to a webalizer.conf file use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; our (%text, %config, %gconfig, %access, $module_name, %in, $remote_user); require './webalizer-lib.pl'; &error_setup($text{'global_err'}); $access{'view'} && &error($text{'edit_ecannot'}); &ReadParse(); !$in{'file'} || &can_edit_log($in{'file'}) || &error($text{'edit_ecannot'}); $in{'file'} || $access{'global'} || &error($text{'edit_ecannot'}); my $cfile = &config_file_name($in{'file'}) if ($in{'file'}); if ($in{'delete'}) { # Just delete the configuration for this logfile &unlink_logged($cfile); &redirect(""); exit; } &lock_file($cfile || $config{'webalizer_conf'}); my $conf = &get_config($in{'file'}); # Validate and store inputs if ($in{'report_def'}) { &save_directive($conf, "ReportTitle"); } else { $in{'report'} =~ /\S/ || &error($text{'global_ereport'}); &save_directive($conf, "ReportTitle", $in{'report'}); } if ($in{'host_def'}) { &save_directive($conf, "HostName"); } elsif (defined($in{'host'})) { $in{'host'} =~ /^\S+$/ || &error($text{'global_ehost'}); &save_directive($conf, "HostName", $in{'host'}); } my @pages = split(/\s+/, $in{'page'}); &save_directive($conf, "PageType", @pages); my @index = split(/\s+/, $in{'index'}); &save_directive($conf, "IndexAlias", @index); if ($in{'gmt'}) { &save_directive($conf, "GMTTime", "yes"); } else { &save_directive($conf, "GMTTime"); } if ($in{'fold'}) { &save_directive($conf, "FoldSeqErr", "yes"); } else { &save_directive($conf, "FoldSeqErr"); } if ($in{'visit_def'}) { &save_directive($conf, "VisitTimeout"); } else { $in{'visit'} =~ /^\d+$/ || &error($text{'global_evisit'}); &save_directive($conf, "VisitTimeout", $in{'visit'}); } if ($in{'dns_def'}) { &save_directive($conf, "DNSChildren"); } else { $in{'dns'} =~ /^\d+$/ || &error($text{'global_edns'}); &save_directive($conf, "DNSChildren", $in{'dns'}); } if ($in{'history_def'}) { &save_directive($conf, "HistoryName"); } else { $in{'history'} =~ /^\S+$/ || &error($text{'global_ehistory'}); &save_directive($conf, "HistoryName", $in{'history'}); } if ($in{'current_def'}) { &save_directive($conf, "IncrementalName"); } else { $in{'current'} =~ /^\S+$/ || &error($text{'global_ecurrent'}); &save_directive($conf, "IncrementalName", $in{'current'}); } if ($in{'cache_def'}) { &save_directive($conf, "DNSCache"); } else { $in{'cache'} =~ /^\S+$/ || &error($text{'global_ecache'}); &save_directive($conf, "DNSCache", $in{'cache'}); } foreach my $g ('DailyGraph', 'DailyStats', 'HourlyGraph', 'HourlyStats', 'CountryGraph', 'GraphLegend') { if ($in{$g}) { &save_directive($conf, $g); } else { &save_directive($conf, $g, "no"); } } foreach my $t ('TopSites', 'TopKSites', 'TopURLs', 'TopKURLs', 'TopReferrers', 'TopAgents', 'TopCountries', 'TopEntry', 'TopExit', 'TopSearch', 'TopUsers') { if ($in{"${t}_def"} == 1) { &save_directive($conf, $t); } elsif ($in{"${t}_def"} == 2) { &save_directive($conf, $t, "0"); } else { $in{$t} =~ /^\d+$/ || &error(&text('global_etable', $text{"global_$t"})); &save_directive($conf, $t, $in{$t}); } } foreach my $a ('AllSites', 'AllURLs', 'AllReferrers', 'AllAgents', 'AllSearchStr', 'AllUsers') { if ($in{$a}) { &save_directive($conf, $a, "yes"); } else { &save_directive($conf, $a); } } foreach my $hid ("HideURL", "HideSite", "HideReferrer", "HideUser", "HideAgent") { my @hidv = split(/\s+/, $in{lc($hid)}); &save_directive($conf, $hid, @hidv); } foreach my $ign ("IgnoreURL", "IgnoreSite", "IgnoreReferrer", "IgnoreUser", "IgnoreAgent") { my @ignv = split(/\s+/, $in{lc($ign)}); &save_directive($conf, $ign, @ignv); } foreach my $inc ("IncludeURL", "IncludeSite", "IncludeReferrer", "IncludeUser", "IncludeAgent") { my @incv = split(/\s+/, $in{lc($inc)}); &save_directive($conf, $inc, @incv); } &flush_file_lines(); &unlock_file($cfile || $config{'webalizer_conf'}); &webmin_log("modify", "global", $in{'file'}); &redirect($in{'file'} ? "edit_log.cgi?file=".&urlize($in{'file'}). "&type=$in{'type'}&custom=$in{'custom'}" : "");Private