Server IP : 195.201.23.43 / Your IP : 3.144.40.81 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/cron/ |
Upload File : |
#!/usr/bin/perl # edit_cron.cgi # Edit an existing or new cron job require './cron-lib.pl'; &ReadParse(); @jobs = &list_cron_jobs(); if (!$in{'new'}) { $job = $jobs[$in{'idx'}]; &can_edit_user(\%access, $job->{'user'}) || &error($text{'edit_ecannot'}); &ui_print_header(undef, $text{'edit_title'}, ""); } else { &ui_print_header(undef, $text{'create_title'}, ""); if (defined($in{'clone'})) { # Default to clone source $clone = $jobs[$in{'clone'}]; $job = { %$clone }; } elsif ($config{'vixie_cron'}) { # Default to hourly, using @ format $job = { 'special' => 'hourly', 'active' => 1 }; } else { # Default to hourly, using standard notation $job = { 'mins' => '0', 'hours' => '*', 'days' => '*', 'months' => '*', 'weekdays' => '*', 'active' => 1 }; } } print &ui_form_start("save_cron.cgi"); print &ui_hidden("new", $in{'new'}); print &ui_hidden("idx", $in{'idx'}); print &ui_hidden("search", $in{'search'}); print &ui_table_start($text{'edit_details'}, "width=100%", 2); if (&supports_users()) { # Allow selection of user if ($access{'mode'} == 1) { $usel = &ui_select("user", $job->{'user'}, [ split(/\s+/, $access{'users'}) ]); } elsif ($access{'mode'} == 3) { $usel = "<tt>$remote_user</tt>"; print &ui_hidden("user", $remote_user); } else { $usel = &ui_user_textbox("user", $job->{'user'}); } print &ui_table_row($text{'edit_user'}, $usel); } # Is job active? print &ui_table_row($text{'edit_active'}, &ui_yesno_radio("active", $job->{'active'} ? 1 : 0)); # Next run time if (!$in{'new'} && ($config{'show_next'} || $userconfig{'show_next'})) { $n = &next_run($job); print &ui_table_row($text{'edit_next'}, $n ? &make_date($n) : "<i>$text{'index_nunknown'}</i>"); } &convert_comment($job); $rpd = &is_run_parts($job->{'command'}); if ($rpd) { # run-parts command.. just show scripts that will be run print &ui_table_row($text{'edit_commands'}, "<tt>".join("<br>",&expand_run_parts($rpd))."</tt>". &ui_hidden("cmd", $job->{'command'})); } elsif (!$access{'command'}) { # Just show command, which cannot be edited print &ui_table_row($text{'edit_commands'}, "<tt>".&html_escape($job->{'command'})."</tt>"); } else { # Normal cron job.. can edit command &convert_range($job); $rangeable = 1; ($command, $input) = &extract_input($job->{'command'}); $command =~ s/\\%/%/g; $input =~ s/\\%/%/g; @lines = split(/%/, $input); print &ui_table_row($text{'edit_command'}, &ui_textbox("cmd", $command, 60)); if ($config{'cron_input'}) { print &ui_table_row($text{'edit_input'}, &ui_textarea("input", join("\n" , @lines), 3, 50)); } } # Show comment print &ui_table_row($text{'edit_comment'}, &ui_textbox("comment", $job->{'comment'}, 60)); print &ui_table_end(); # Show times and days to run print &ui_table_start($text{'edit_when'}, "width=100%", 2); print &get_times_input($job); print &ui_table_end(); if ($rangeable) { # Show date range to run print &ui_table_start($text{'edit_range'}, "width=100%", 2); print &ui_table_row(undef, &capture_function_output(\&show_range_input, $job), 2); print &ui_table_end(); } if (!$in{'new'}) { # Save button print &ui_submit($text{'save'}); print &ui_submit($text{'edit_saverun'}, 'saverun'); print &ui_form_end(); # Run button print "<table class='ui_table_end_submit_right'><tr>\n"; if (!$rpd) { print "<td>"; print &ui_form_start("exec_cron.cgi"); print &ui_hidden("idx", $in{'idx'}); print &ui_submit($text{'edit_run'}); print &ui_form_end(); print "</td>\n"; } # Clone button print "<td>"; print &ui_form_start("edit_cron.cgi"); print &ui_hidden("clone", $in{'idx'}); print &ui_hidden("new", 1); print &ui_submit($text{'edit_clone'}); print &ui_form_end(); print "</td>"; # Delete button if ($access{'delete'}) { print "<td>"; print &ui_form_start("delete_cron.cgi"); print &ui_hidden("idx", $in{'idx'}); print &ui_submit($text{'delete'}); print &ui_form_end(); print "</td>\n"; } print "</tr></table>\n"; } else { print &ui_form_end([ [ undef, $text{'create'} ] ]); } &ui_print_footer("index.cgi?search=".&urlize($in{'search'}), $text{'index_return'});Private