3 # Displays a list of all aliases
4 # XXX .qmail-default and .qmail-foo-default alias support
6 require './qmail-lib.pl';
8 &ui_print_header(undef, $text{'aliases_title'}, "");
10 @aliases = &list_aliases();
14 # Restrict to search results
15 @aliases = grep { $_ =~ /$in{'search'}/ } @aliases;
17 elsif ($config{'max_records'} && @aliases > $config{'max_records'}) {
19 print $text{'aliases_toomany'},"<br>\n";
20 print "<form action=list_aliases.cgi>\n";
21 print "<input type=submit value='$text{'aliases_go'}'>\n";
22 print "<input name=search size=20></form>\n";
28 if ($config{'sort_mode'} == 1) {
29 @aliases = sort { lc($a) cmp lc($b) } @aliases;
31 @aliases = map { &get_alias($_) } @aliases;
33 # find a good place to split
35 for($i=0; $i<@aliases; $i++) {
37 $al = scalar(@{$aliases[$i]->{'values'}});
38 $lines += ($al ? $al : 1);
40 $midline = int(($lines+1) / 2);
41 for($mid=0; $mid<@aliases && $aline[$mid] < $midline; $mid++) { }
44 print &ui_form_start("delete_aliases.cgi", "post");
45 print &select_all_link("d", 1),"\n";
46 print &select_invert_link("d", 1),"<br>\n";
47 if ($config{'columns'} == 2) {
48 print "<table width=100%> <tr><td width=50% valign=top>\n";
49 &aliases_table(@aliases[0..$mid-1]);
50 print "</td><td width=50% valign=top>\n";
51 if ($mid < @aliases) { &aliases_table(@aliases[$mid..$#aliases]); }
52 print "</td></tr> </table><br>\n";
55 &aliases_table(@aliases);
57 print &select_all_link("d", 1),"\n";
58 print &select_invert_link("d", 1),"<br>\n";
59 print &ui_form_end([ [ "delete", $text{'aliases_delete'} ] ]);
62 &ui_print_footer("", $text{'index_return'});
66 print "<table border width=100%>\n";
67 print "<tr $tb> <td width=5><br></td> <td><b>$text{'aliases_addr'}</b></td> ",
68 "<td><b>$text{'aliases_to'}</b></td> </tr>\n";
70 local $n = $a->{'name'};
73 print "<td width=5>",&ui_checkbox("d", $a->{'name'}),"</td>\n";
74 print "<td valign=top><a href=\"edit_alias.cgi?name=$a->{'name'}\">",
75 &html_escape($n),"</a></td>\n";
77 foreach $v (@{$a->{'values'}}) {
78 ($anum, $astr) = &alias_type($v);
79 print &text("aliases_type$anum",
80 "<tt>".&html_escape($astr)."</tt>"),"<br>\n";
82 if (!@{$a->{'values'}}) {
83 print "<i>$text{'aliases_none'}</i>\n";
85 print "</td> </tr>\n";