#!/usr/bin/perl

print "Content-Type: Text/HTML\n\n";

# This script lists all user accounts and associated email addresses.
# The user is given the option to add/delete addresses, delete users and change a user's pw

use CGI ':standard';
use Vpanel 1.00;
require $header;
require $accountinfo;

$domainname = find_domain ($mainuser);
$hostingplan = find_hosting_plan ($domainname);
$smtpforwarding = is_mailertable ($domainname);

# Define the tab which appears to the front
$tab_section = $tabnum_email;

# Output the content associated with this tab
print "<body class=section-$tab_section>";

# display tabs
require $tabdisplay;

# find all existing valid users
@validusers = find_valid_users($domainname);

print_header ("List of email users and email addresses for $domainname");

print<<HEADER;

Below is a list of all your email users/accounts and the email addresses connected to each user/account. <BR>Email
addresses which are being forwarded to other email addresses may be found <a href=/$script_bin/view_forwarding.pl>
<font color=#cc0000>here</a></font>.<br><br><br>

 <TABLE WIDTH=900 BORDER=0 CELLPADDING=0 CELLSPACING=15 class=text>
<tr><td width=100><b>Email User</b></td>
<td align=center width=100><b>Options</b></td>
<td align=left><b>Email Address(es)</b></td></tr>

HEADER

# Now loop for each of the user names.

for $validuser ( @validusers )
{
	if ( ( $validuser =~ /^spam/ ) && ( ! ( $validuser =~ /^ftp/ ) ) )
        {
		print "\n<tr valign=middle><td><b>$validuser</b></td>\n";
                print "<td align=center><a href='/$script_bin/$reset_password?type=email&user=$validuser'>\n";
                print "<span class=emailoption>reset password</span></a>\n";
                print "</td><td>This is your Spam Trap which holds all your Spam emails.</td></tr>";
        } elsif ( ! ( $validuser =~ /^ftp/ ) ) {
		print "<tr valign=middle><td><b>$validuser</b></td>\n";
		print "<td align=center><a href='/$script_bin/$create_address?user=$validuser'>\n";
	        print "<span class=emailoption>add an address</font></a>\n";
	        # main user's password cannot be deleted
	      	if ( $validuser ne $mainuser )
        	{	
        	       	print "<br><a href='/$script_bin/$reset_password?type=email&user=$validuser'>";
	                print "<span class=emailoption>reset password</font></a> ";
	        }

		@validaddresses = ();
		@validaddresses = find_valid_addresses_for_user($validuser);
		$num_valid_addresses = @validaddresses;
	        if ( $num_valid_addresses == 0 )
		{       	
      		      	print "<br><a href='/$script_bin/$delete_user?user=$validuser'>";
	              	print "<span class=emailoption>delete user</font></a>";
			print "</td><td>There are no email addresses connected with this user.</td>";
	        } else {
        	        print "</td><td><table width=430 border=0 class=text>";
                	for $validaddress ( @validaddresses )
                	{
				print "<tr><td width=300>";
				if ( is_multidrop($validaddress) eq "yes" )
        	               	{
                	               	print "This user is set up as a 'multidrop' or 'catch-all' account.";
                        	       	print " All email addresses not configured by<br> you go to this user.";
                                	print "</td><td><a href='/$script_bin/$confirm_delete_address?user=$validuser\@$domainname&address=$validaddress'>";
	                               	print "<span class=emailoption>delete multidrop</font></a></td></tr>";
         	              	} else {
                	               	print "$validaddress";
                        	       	print "</td><td><a href='/$script_bin/$confirm_delete_address?user=$validuser\@$domainname&address=$validaddress'>";
                                	print "<span class=emailoption>delete address</font></a></td></tr>";
				}
                        }
                
	
                print "</table>";
		}
		print "</td></tr>";
	}	
}

print "</table>";
print "<br><br>";

require $footer;
