#!/usr/local/bin/perl
# list_aliases.cgi
# Display users and aliases in a domain
require './virtual-server-lib.pl';
&ReadParse();
$d = &get_domain($in{'dom'});
&can_edit_domain($d) && &can_edit_aliases() || &error($text{'aliases_ecannot'});
@aliases = &list_domain_aliases($d, 1);
&ui_print_header(&domain_in($d), $text{'aliases_title'}, "");
# Create select / add links
($mleft, $mreason, $mmax, $mhide) = &count_feature("aliases");
@links = ( &select_all_link("d"),
&select_invert_link("d") );
if ($mleft != 0) {
push(@links, "".
"$text{'aliases_add'}");
}
push(@rlinks, "".
"$text{'aliases_emass'}");
if (@aliases) {
print &ui_form_start("delete_aliases.cgi");
print &ui_hidden("dom", $in{'dom'}),"\n";
print "
| \n";
if ($mleft != 0 && $mleft != -1 && !$mhide) {
print "",&text('aliases_canadd'.$mreason,$mleft)," \n";
}
elsif ($mleft == 0) {
print "",&text('aliases_noadd'.$mreason, $mmax)," \n";
}
print &ui_links_row(\@links);
print " | \n";
print &ui_links_row(\@rlinks);
print " |
\n";
if ($can_alias_comments) {
($anycmt) = grep { $_->{'cmt'} } @aliases;
}
print &ui_columns_start([ "", $text{'aliases_name'},
$text{'aliases_domain'},
$text{'aliases_dests'},
$anycmt ? ( $text{'aliases_cmt'} ) : ( )
], 100, 0,
[ "width=5" ]);
foreach $a (sort { $a->{'from'} cmp $b->{'from'} } @aliases) {
$name = $a->{'from'};
$name =~ s/\@\S+$//;
$name = "$text{'alias_catchall'}" if ($name eq "");
$alines = "";
$simple = &get_simple_alias($d, $a);
foreach $v (@{$a->{'to'}}) {
($anum, $astr) = &alias_type($v);
if ($anum == 5 && $simple) {
$msg = $simple->{'autotext'};
$msg = substr($msg, 0, 100)." ..."
if (length($msg) > 100);
$alines .= &text('aliases_reply',
"".&html_escape($msg)."");
}
else {
$alines .= &text("aliases_type$anum",
"".&html_escape($astr)."")."
\n";
}
}
if (!@{$a->{'to'}}) {
$alines = "$text{'aliases_dnone'}\n";
}
print &ui_checked_columns_row([
"{'from'}'>$name",
$d->{'dom'},
$alines,
$anycmt ? ( $a->{'cmt'} ) : ( ) ],
[ "width=5", "valign=top", "valign=top" ],
"d", $a->{'from'});
}
print &ui_columns_end();
}
else {
print "$text{'aliases_none'}\n";
shift(@links); shift(@links);
}
print "
| \n";
print &ui_links_row(\@links);
print " | \n";
print &ui_links_row(\@rlinks);
print " |
\n";
if (@aliases) {
print &ui_form_end([ [ "delete", $text{'aliases_delete'} ] ]);
}
if ($single_domain_mode) {
&ui_print_footer(&domain_footer_link($d),
"", $text{'index_return2'});
}
else {
&ui_print_footer(&domain_footer_link($d),
"", $text{'index_return'});
}