Server IP : 195.201.23.43 / Your IP : 3.141.43.16 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 # Mass schedule or de-schedule a bunch of logs use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; our (%text, %config, %gconfig, %access, $module_name, %in, $cron_cmd); require './webalizer-lib.pl'; &foreign_require("cron", "cron-lib.pl"); &ReadParse(); &error_setup($text{'mass_err'}); $access{'view'} && &error($text{'edit_ecannot'}); # Validate inputs my @d = split(/\0/, $in{'d'}); @d || &error($text{'mass_enone'}); my @jobs = &cron::list_cron_jobs(); my %job; foreach my $file (@d) { &can_edit_log($file) || &error($text{'edit_efilecannot'}); ($job{$file}) = grep { $_->{'command'} eq "$cron_cmd $file" } @jobs; } my $count = 0; if ($in{'enable'}) { # Add cron jobs for selected foreach my $file (@d) { my $cfile = &config_file_name($file); my $lconf = &get_log_config($file); if (!$lconf->{'sched'}) { &lock_file($cfile); $lconf->{'sched'} = 1; my $job = $job{$file}; if (!$job) { $job = { 'user' => 'root', 'active' => 1, 'command' => "$cron_cmd $file" }; &lconf_to_cron($lconf, $job); &lock_file(&cron::cron_file($job)); &cron::create_cron_job($job); &unlock_file(&cron::cron_file($job)); } &save_log_config($file, $lconf); &unlock_file($cfile); $count++; } } &webmin_log("enable", "logs", $count); } else { # Cancel cron jobs for selected foreach my $file (@d) { my $cfile = &config_file_name($file); my $lconf = &get_log_config($file); if ($lconf->{'sched'}) { &lock_file($cfile); $lconf->{'sched'} = 0; my $job = $job{$file}; if ($job) { &lock_file(&cron::cron_file($job)); &cron::delete_cron_job($job); &unlock_file(&cron::cron_file($job)); } &save_log_config($file, $lconf); &unlock_file($cfile); $count++; } } &webmin_log("disable", "logs", $count); } &redirect("");Private