Handle hostnames with upper-case letters
[webmin.git] / bacula-backup / edit_fileset.cgi
1 #!/usr/local/bin/perl
2 # Show the details of one fileset
3
4 require './bacula-backup-lib.pl';
5 &ReadParse();
6 $conf = &get_director_config();
7 @filesets = &find("FileSet", $conf);
8 if ($in{'new'}) {
9         &ui_print_header(undef, $text{'fileset_title1'}, "");
10         $mems = [ ];
11         $fileset = { };
12         }
13 else {
14         &ui_print_header(undef, $text{'fileset_title2'}, "");
15         $fileset = &find_by("Name", $in{'name'}, \@filesets);
16         $fileset || &error($text{'fileset_egone'});
17         $mems = $fileset->{'members'};
18         }
19
20 # Show details
21 print &ui_form_start("save_fileset.cgi", "post");
22 print &ui_hidden("new", $in{'new'}),"\n";
23 print &ui_hidden("old", $in{'name'}),"\n";
24 print &ui_table_start($text{'fileset_header'}, "width=100%", 4);
25
26 # File set name
27 print &ui_table_row($text{'fileset_name'},
28             &ui_textbox("name", $name=&find_value("Name", $mems), 40), 3);
29
30 # Included files
31 $inc = &find("Include", $mems);
32 @files = $inc ? &find_value("File", $inc->{'members'}) : ( );
33 print &ui_table_row($text{'fileset_include'},
34                     &ui_textarea("include", join("\n", @files), 5, 60)."\n".
35                     &file_chooser_button("include", 0, 0, undef, 1), 3);
36
37 # Options
38 $opts = $inc ? &find("Options", $inc->{'members'}) : undef;
39 $sig = $opts ? &find_value("signature", $opts->{'members'}) : undef;
40 print &ui_table_row($text{'fileset_sig'},
41                     &ui_select("signature", $sig,
42                         [ [ "", $text{'fileset_none'} ],
43                           [ "MD5" ], [ "SHA1" ] ], 1, 0, 1));
44
45 # Excluded files
46 $exc = &find("Exclude", $mems);
47 @files = $exc ? &find_value("File", $exc->{'members'}) : ( );
48 print &ui_table_row($text{'fileset_exclude'},
49                     &ui_textarea("exclude", join("\n", @files), 5, 60)."\n".
50                     &file_chooser_button("exclude", 0, 0, undef, 1), 3);
51
52 # Compression level
53 $comp = &find_value("Compression", $opts->{'members'});
54 print &ui_table_row($text{'fileset_comp'},
55         &ui_select("comp", $comp,
56                 [ [ '', $text{'fileset_gzipdef'} ],
57                   map { [ "GZIP".$_, &text('fileset_gzip', $_) ] }
58                       (1..9) ]));
59
60 # Single filesystem?
61 print &ui_table_row($text{'fileset_onefs'},
62         &bacula_yesno("onefs", "OneFS", $opts->{'members'}));
63
64 # All done
65 print &ui_table_end();
66 if ($in{'new'}) {
67         print &ui_form_end([ [ "create", $text{'create'} ] ]);
68         }
69 else {
70         print &ui_form_end([ [ "save", $text{'save'} ],
71                              [ "delete", $text{'delete'} ] ]);
72         }
73 &ui_print_footer("list_filesets.cgi", $text{'filesets_return'});
74