Handle hostnames with upper-case letters
[webmin.git] / software / delete_packs.cgi
1 #!/usr/local/bin/perl
2 # delete_packs.cgi
3 # Ask if the user wants to delete multiple packages, and if so do it
4 # XXX logging
5
6 require './software-lib.pl';
7 &ReadParse();
8 &error_setup($text{'deletes_err'});
9 foreach $d (split(/\0/, $in{'del'})) {
10         local ($p, $v) = split(/\s/, $d);
11         local @pinfo;
12         (@pinfo = &package_info($p, $v)) ||
13                 &error(&text('delete_epack', $p));
14         push(@packs, $p);
15         push(@vers, $v);
16         push(@infos, \@pinfo);
17         }
18 @packs || &error($text{'deletes_enone'});
19
20 &ui_print_header(undef, $text{'deletes_title'}, "", "delete");
21
22 if ($in{'sure'}) {
23         # do the deletion
24         print "<p>\n";
25         if (defined(&delete_packages)) {
26                 # Can just use one function
27                 print &text('deletes_desc', "<tt>".join(" ", @packs)."</tt>"),
28                       "<p>\n";
29                 $error = &delete_packages(\@packs, \%in, \@vers);
30                 if ($error) {
31                         print "<b>",&text('deletes_failed2', $error),"</b><p>\n";
32                         }
33                 else {
34                         print "$text{'deletes_success2'}<p>\n";
35                         }
36                 }
37         else {
38                 # Need to use a loop
39                 for($i=0; $i<@packs; $i++) {
40                         $error = &delete_package($packs[$i], \%in, $vers[$i]);
41                         if ($error) {
42                                 print "<b>",&text('deletes_failed1', "<tt>$packs[$i]</tt>", $error),"</b><br>\n";
43                                 }
44                         else {
45                                 print &text('deletes_success1', "<tt>$packs[$i]</tt>"),"<br>\n";
46                                 }
47                         }
48                 }
49         &webmin_log("deletes", "package", undef, { 'packs' => \@packs });
50         }
51 else {
52         # Ask if the user is sure..
53         print "<center>\n";
54         print &text('deletes_rusure', "<tt>".join(" ", @packs)."</tt>"),
55               "<p>\n";
56         print &ui_form_start("delete_packs.cgi", "post");
57         foreach $d (split(/\0/, $in{'del'})) {
58                 print &ui_hidden("del", $d);
59                 }
60         print &ui_hidden("sure", 1);
61         print &ui_hidden("search", $in{'search'});
62         print &ui_submit($text{'deletes_ok'});
63         if (defined(&delete_options)) {
64                 &delete_options($packs[0]);
65                 }
66         print &ui_form_end(),"</center>\n";
67
68         }
69
70 &ui_print_footer("search.cgi?search=$in{'search'}", $text{'search_return'});
71