Protect against deletion of the wrong job https://sourceforge.net/p/webadmin/bugs/5313/

This commit is contained in:
Jamie Cameron
2020-03-01 08:46:44 -08:00
parent aab3c255fc
commit 65fa133929

View File

@@ -11,11 +11,13 @@ require './cron-lib.pl';
if ($in{'delete'}) {
# Delete selected jobs
foreach $d (sort { $b <=> $a } @d) {
$job = $jobs[$d];
($job) = grep { $_->{'index'} eq $d } @jobs;
$job || next;
&lock_file($job->{'file'});
$access{'delete'} && &can_edit_user(\%access, $job->{'user'}) ||
&error($text{'edit_ecannot'});
&delete_cron_job($job);
@jobs = grep { $_ ne $job } @jobs;
}
&unlock_all_files();
&webmin_log("delete", "crons", scalar(@d));
@@ -23,12 +25,14 @@ if ($in{'delete'}) {
elsif ($in{'disable'} || $in{'enable'}) {
# Disable selected
foreach $d (@d) {
$job = $jobs[$d];
($job) = grep { $_->{'index'} eq $d } @jobs;
$job || next;
&lock_file($job->{'file'});
&can_edit_user(\%access, $job->{'user'}) ||
&error($text{'edit_ecannot'});
$job->{'active'} = $in{'disable'} ? 0 : 1;
&change_cron_job($job);
@jobs = grep { $_ ne $job } @jobs;
}
&unlock_all_files();
&webmin_log($in{'disable'} ? "disable" : "enable", "crons", scalar(@d));