Handle hostnames with upper-case letters
[webmin.git] / cluster-copy / index.cgi
1 #!/usr/local/bin/perl
2 # Show all scheduled cluster copy jobs
3
4 require './cluster-copy-lib.pl';
5 &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1);
6
7 @links = ( &select_all_link("d"),
8            &select_invert_link("d"),
9            "<a href='edit.cgi?new=1'>$text{'index_add'}</a>" );
10
11 # Get and sort jobs
12 @jobs = &list_copies();
13 if ($config{'sort_mode'} == 1) {
14         # By filename
15         @jobs = sort { $a->{'files'} cmp $b->{'files'} } @jobs;
16         }
17 elsif ($config{'sort_mode'} == 2) {
18         # By destination server
19         @jobs = sort { $a->{'servers'} cmp $b->{'servers'} } @jobs;
20         }
21
22 if (@jobs) {
23         print &ui_form_start("delete.cgi", "post");
24         print &ui_links_row(\@links);
25         @tds = ( "width=5" );
26         print &ui_columns_start([ "",
27                                   $text{'index_files'},
28                                   $text{'index_servers'},
29                                   $text{'index_sched'},
30                                   $text{'index_act'} ], "100", 0, \@tds);
31         foreach $j (@jobs) {
32                 @servers = map {
33                         $_ eq "*" ? $text{'edit_this'} :
34                         $_ =~ /^group_(.*)$/ ? &text('edit_group', "$1") : $_
35                                 } split(/\s+/, $j->{'servers'});
36                 if (@servers > 3) {
37                         $servers = join(", ", @servers[0 .. 1]).", ".
38                               &text('index_more', @servers-2);
39                         }
40                 else {
41                         $servers = join(", ", @servers);
42                         }
43                 @files = split(/\t+/, $j->{'files'});
44                 if (@files > 3) {
45                         $files = join(", ", @files[0 .. 1]).", ".
46                               &text('index_more', @files-2);
47                         }
48                 else {
49                         $files = join(", ", @files);
50                         }
51                 print &ui_checked_columns_row(
52                         [ "<a href='edit.cgi?id=$j->{'id'}'>$files</a>",
53                           $servers,
54                           $j->{'sched'} ?
55                                 &text('index_when', &cron::when_text($j)) :
56                                 $text{'no'},
57                           "<a href='exec.cgi?id=$j->{'id'}'>$text{'index_exec'}</a>",
58                         ], \@tds, "d", $j->{'id'});
59                 }
60         print &ui_columns_end();
61         print &ui_links_row(\@links);
62         print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]);
63         }
64 else {
65         print "<b>$text{'index_none'}</b><p>\n";
66         print &ui_links_row([ $links[2] ]);
67         }
68
69 &ui_print_footer("/", $text{'index'});
70