Private
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/webmin/webalizer/mass.cgi
#!/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