#!/usr/local/bin/perl # index.cgi # Show all cron jobs that run on multiple servers require './cluster-cron-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", "intro", 0, 1); @links = ( &select_all_link("d"), &select_invert_link("d"), "$text{'index_add'}" ); @jobs = &list_cluster_jobs(); if (@jobs) { print &ui_form_start("delete_jobs.cgi", "post"); print &ui_links_row(\@links); print &ui_columns_start([ "", $cron::text{'index_user'}, $cron::text{'index_active'}, $text{'index_servers'}, $cron::text{'index_command'} ], 100, 0, [ "width=5", undef, undef, undef, "colspan=2" ]); foreach $j (@jobs) { local @cols; push(@cols, "$j->{'cluster_user'}"); push(@cols, $j->{'active'} ? $text{'yes'} : "$text{'no'}"); local @servers = map { $_ eq "*" ? $text{'edit_this'} : $_ =~ /^group_(.*)$/ ? &text('edit_group', "$1") : $_ } split(/\s+/, $j->{'cluster_server'}); if (@servers > 3) { push(@cols, join(", ", @servers[0 .. 1]).", ". &text('index_more', @servers-2)); } else { push(@cols, join(", ", @servers)); } local $max = $cron::config{'max_len'} || 10000; local $cmd = $j->{'cluster_command'}; push(@cols, sprintf "%s%s", length($cmd) > $max ? &html_escape(substr($cmd, 0, $max)) : $cmd !~ /\S/ ? "BLANK" : &html_escape($cmd), length($cmd) > $max ? " ..." : ""); push(@cols, "". "$text{'index_run'}"); print &ui_checked_columns_row( \@cols, [ "width=5", undef, undef, undef, undef, "width=10" ], "d", $j->{'cluster_id'}); } print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ "delete", $cron::text{'index_delete'} ] ]); } else { print "$text{'index_none'}

\n"; print &ui_links_row([ $links[2] ]); } &ui_print_footer("/", $text{'index'});