Handle hostnames with upper-case letters
[webmin.git] / at / create_job.cgi
1 #!/usr/local/bin/perl
2 # create_job.cgi
3 # Create a new at job
4
5 require 'timelocal.pl';
6
7 require './at-lib.pl';
8 &ReadParse();
9 &error_setup($text{'create_err'});
10
11 # Validate inputs
12 &can_edit_user(\%access, $in{'user'}) || &error($text{'create_ecannot'});
13 defined(getpwnam($in{'user'})) || &error($text{'create_euser'});
14 &can_use_at($in{'user'}) || &error($text{'create_eallow'});
15 $in{'hour'} =~ /^\d+$/ && $in{'min'} =~ /^\d+$/ &&
16         $in{'day'} =~ /^\d+$/ && $in{'year'} =~ /^\d+$/ ||
17                 &error($text{'create_edate'});
18 eval { $date = timelocal(0, $in{'min'}, $in{'hour'},
19                          $in{'day'}, $in{'month'}, $in{'year'}-1900) };
20 $@ && &error($text{'create_edate'});
21 $date > time() || &error($text{'create_efuture'});
22 $in{'cmd'} =~ s/\r//g;
23 $in{'cmd'} =~ /\S/ || &error($text{'create_ecmd'});
24 -d $in{'dir'} || &error($text{'create_edir'});
25
26 # Create the job
27 &create_atjob($in{'user'}, $date, $in{'cmd'}, $in{'dir'}, $in{'mail'});
28 &webmin_log("create", "job", $in{'user'}, \%in);
29 &redirect("");
30