117 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
| <?php
 | |
| /*
 | |
|  ----------------------------------------------------------------------
 | |
|  LICENSE
 | |
| 
 | |
|  This program is free software; you can redistribute it and/or
 | |
|  modify it under the terms of the GNU General Public License (GPL)
 | |
|  as published by the Free Software Foundation; either version 2
 | |
|  of the License, or (at your option) any later version.
 | |
| 
 | |
|  This program is distributed in the hope that it will be useful,
 | |
|  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  GNU General Public License for more details.
 | |
| 
 | |
|  To read the license please visit http://www.gnu.org/copyleft/gpl.html
 | |
|  ----------------------------------------------------------------------
 | |
| */
 | |
| 
 | |
| /**
 | |
|  * Manage the list of allowed accounts to operate as secondary MX
 | |
|  * those account are allowed to list the hosted domains
 | |
|  * to configure their postfix as a secondary MX
 | |
|  * 
 | |
|  * @copyright AlternC-Team 2000-2017 https://alternc.com/ 
 | |
|  */
 | |
| 
 | |
| require_once("../class/config.php");
 | |
| 
 | |
| if (!$admin->enabled) {
 | |
| 	$msg->raise("ERROR", "admin", _("This page is restricted to authorized staff"));
 | |
| 	echo $msg->msg_html_all();
 | |
| 	exit();
 | |
| }
 | |
| 
 | |
| $fields = array (
 | |
| 	"delaccount"   => array ("request", "string", ""),
 | |
| 	"newlogin"   => array ("post", "string", ""),
 | |
| 	"newpass"    => array ("post", "string", ""),
 | |
| );
 | |
| getFields($fields);
 | |
| 
 | |
| if ($delaccount) {
 | |
| 	// Delete an account
 | |
| 	if ($mail->del_slave_account($delaccount)) {
 | |
| 		$msg->raise("INFO", "admin", _("The requested account has been deleted. It is now denied."));
 | |
| 	}
 | |
| }
 | |
| if ($newlogin) {
 | |
| 	// Add an account
 | |
| 	if ($mail->add_slave_account($newlogin,$newpass)) { 
 | |
| 		$msg->raise("INFO", "admin", _("The requested account address has been created. It is now allowed."));
 | |
| 		$newlogin='';$newpass='';
 | |
| 	}
 | |
| }
 | |
| 
 | |
| include_once("head.php");
 | |
| 
 | |
| $c=$admin->listPasswordPolicies();
 | |
| $passwd_classcount = $c['adm']['classcount'];
 | |
| 
 | |
| ?>
 | |
| <h3><?php __("Manage allowed accounts for secondary mx"); ?></h3>
 | |
| <hr id="topbar"/>
 | |
| <br />
 | |
| <?php
 | |
| $c=$mail->enum_slave_account();
 | |
| 
 | |
| echo $msg->msg_html_all();
 | |
| 
 | |
| if (is_array($c)) {
 | |
| 
 | |
| ?>
 | |
| <p>
 | |
| <?php __("Here is the list of the allowed accounts for secondary mx management. You can configure the alternc-secondarymx package on your secondary mx server and give him the login/pass that will grant him access to your server's mx-hosted domain list. "); ?>
 | |
| </p>
 | |
| 
 | |
| <table border="0" cellpadding="4" cellspacing="0" class='tlist'>
 | |
| <tr><th><?php __("Action"); ?></th><th><?php __("Login"); ?></th><th><?php __("Password"); ?></th></tr>
 | |
| <?php
 | |
| for($i=0;$i<count($c);$i++) { ?>
 | |
| 
 | |
| <tr class="lst">
 | |
| <td class="center"><div class="ina delete"><a href="adm_mxaccount.php?delaccount=<?php echo urlencode($c[$i]["login"]); ?>"><?php __("Delete"); ?></a></div></td>
 | |
| <td><?php echo $c[$i]["login"]; ?></td>
 | |
| <td><?php echo $c[$i]["pass"]; ?></td>
 | |
| </tr>
 | |
| <?php
 | |
| }
 | |
| ?>
 | |
| </table>
 | |
|     <?php } ?>
 | |
| <p><?php __("If you want to allow a new server to access your mx-hosted domain list, give him an account."); ?></p>
 | |
| <form method="post" action="adm_mxaccount.php" name="main" id="main" autocomplete="off">
 | |
|   <?php csrf_get(); ?>
 | |
| <!-- honeypot fields -->
 | |
| <input type="text" style="display: none" id="fakeUsername" name="fakeUsername" value="" />
 | |
| <input type="password" style="display: none" id="fakePassword" name="fakePassword" value="" />
 | |
| 
 | |
| <table class="tedit">
 | |
| <tr><th><label for="newlogin"><?php __("Login"); ?></label></th><th><label for="newpass"><?php __("Password"); ?></label></th></tr>
 | |
| <tr>
 | |
| 	<td><input type="text" class="int" value="<?php ehe($newlogin); ?>" id="newlogin" name="newlogin" maxlength="64" size="32" /><br/><br/></td>
 | |
| 	<td><input type="password" class="int" autocomplete="off" value="<?php ehe($newpass); ?>" id="newpass" name="newpass" maxlength="64" size="32" /><?php display_div_generate_password(DEFAULT_PASS_SIZE,"#newpass","",$passwd_classcount); ?></td>
 | |
| </tr>
 | |
| <tr class="trbtn"><td colspan="2">
 | |
| 	<input type="submit" value="<?php __("Add this account to the allowed list"); ?>" class="inb" />
 | |
|   </td></tr>
 | |
| </table>
 | |
| 
 | |
| </form>
 | |
| 
 | |
| <script type="text/javascript">
 | |
| document.forms['main'].newlogin.focus();
 | |
| </script>
 | |
| <?php include_once("foot.php"); ?>
 |