Handle hostnames with upper-case letters
[webmin.git] / qmailadmin / list_assigns.cgi
1 #!/usr/local/bin/perl
2 # list_assigns.cgi
3 # Displays a list of all user assignments
4
5 require './qmail-lib.pl';
6 &ReadParse();
7 &ui_print_header(undef, $text{'assigns_title'}, "");
8 print "$text{'assigns_desc'}<p>\n";
9
10 @assigns = &list_assigns();
11 &assign_form();
12
13 if ($in{'search'}) {
14         # Restrict to search results
15         @assigns = grep { $_->{'address'} =~ /$in{'search'}/ } @assigns;
16         }
17 elsif ($config{'max_records'} && @assigns > $config{'max_records'}) {
18         # Show search form
19         print $text{'assigns_toomany'},"<br>\n";
20         print "<form action=list_assigns.cgi>\n";
21         print "<input type=submit value='$text{'assigns_go'}'>\n";
22         print "<input name=search size=20></form>\n";
23         undef(@assigns);
24         }
25
26 if (@assigns) {
27         # sort if needed
28         if ($config{'sort_mode'} == 1) {
29                 @assigns = sort { lc($a->{'address'}) cmp lc($b->{'address'}) }
30                                 @assigns;
31                 }
32
33         # output table of assigns
34         print &ui_form_start("delete_assigns.cgi", "post");
35         print &select_all_link("d", 1),"\n";
36         print &select_invert_link("d", 1),"<br>\n";
37         print "<table border width=100%>\n";
38         print "<tr $tb> <td width=5><br></td> ",
39               "<td><b>$text{'assigns_address'}</b></td> ",
40               "<td><b>$text{'assigns_user'}</b></td> ",
41               "<td><b>$text{'assigns_uid'}</b></td> ",
42               "<td><b>$text{'assigns_gid'}</b></td> ",
43               "<td><b>$text{'assigns_home'}</b></td> </tr>\n";
44         foreach $a (@assigns) {
45                 print "<tr $cb>\n";
46                 print "<td width=5>",&ui_checkbox("d", $a->{'address'}),"</td>\n";
47                 print "<td><a href='edit_assign.cgi?idx=$a->{'idx'}'>",
48                       ($a->{'mode'} eq '+' ? "$a->{'address'}*"
49                                            : &html_escape($a->{'address'})),
50                       "</a></td>\n";
51                 print "<td>",&html_escape($a->{'user'}),"</td>\n";
52                 print "<td>",&html_escape($a->{'uid'}),"</td>\n";
53                 print "<td>",&html_escape($a->{'gid'}),"</td>\n";
54                 print "<td>",&html_escape($a->{'home'}),"</td>\n";
55                 print "</tr>\n";
56                 }
57         print "</table>\n";
58         print &select_all_link("d", 1),"\n";
59         print &select_invert_link("d", 1),"<br>\n";
60         print &ui_form_end([ [ "delete", $text{'assigns_delete'} ] ]);
61         }
62
63 &ui_print_footer("", $text{'index_return'});
64
65