Merge branch 'master' into debian

This commit is contained in:
Victor LABORIE 2019-01-09 17:14:31 +01:00
commit d1f9ddce59
3 changed files with 25 additions and 12 deletions

View file

@ -1,34 +1,40 @@
# Evoadmin mail
# Evoadmin Mail
Evoadmin mail is a Web Interface for manage an LDAP directory designed for mail accounts.
Evoadmin-mail is a web interface to an LDAP directory designed for
mail accounts.
## Install
Evoadmin-mail requirements are an LDAP server, a Web server and PHP. See [INSTALL](docs/install.md) for configure them.
Evoadmin-mail requirements are an LDAP server, a web server and
PHP. See [INSTALL](docs/install.md) for instructions.
Multiples services can be configured to use the LDAP directory managed by Evoadmin-mail :
Multiples services can be configured to use the LDAP directory
managed by Evoadmin-mail :
- TODO
## Test
You can deploy a test environmment with Vagrant :
You can deploy a test environment with Vagrant :
~~~
vagrant up
~~~
Evoadmin mail respond to evoadminmail.packmail.example.com domain on localhost, so update your /etc/hosts :
Evoadmin-mail uses the evoadminmail.packmail.example.com domain
on localhost, so update your /etc/hosts :
~~~
127.0.0.1 evoadminmail.packmail.example.com
~~~
Congratulation, Evoadmin mail is now accessible throught https://evoadminmail.packmail.example.com:8443
Congratulation, Evoadmin mail is now accessible through
https://evoadminmail.packmail.example.com:8443
### Authentication
Default admin user is "evoadmin", password is randomly generated and can be recovered from LDAP :
The default admin user is "evoadmin", the password is randomly
generated and can be recovered from LDAP :
~~~
vagrant ssh
@ -38,7 +44,8 @@ ldapvi --ldapsearch "(uid=evoadmin)" | grep userPassword | awk '{ print $2 }'
### Deployment
Launch rsync-auto in a terminal for automatic synchronisation of your local code with Vagrant VM :
Launch rsync-auto in a terminal to automatically synchronise your
local code with the Vagrant VM :
~~~
vagrant rsync-auto
@ -46,6 +53,8 @@ vagrant rsync-auto
## License
This project is an [Evolix](https://evolix.com) project and is licensed under AGPLv3, see the [LICENSE](LICENSE) file for details.
This is an [Evolix](https://evolix.com) project and is licensed
under the AGPLv3, see the [LICENSE](LICENSE) file for details.
Evolix trademark and logo are not freely reusable and are protected by copyright.
The Evolix trademark and logo are not freely reusable and are
protected by copyright.

View file

@ -192,6 +192,8 @@ class FormController {
,self::$form['courieractive']
,self::$form['webmailactive']
,self::$form['authsmtpactive']
,self::$form['mailaccept']
,self::$form['maildrop']
);
PageController::$alerts[] = array('type' => 0, 'message' => "Modification effectué.");
} catch (Exception $e) {

View file

@ -37,7 +37,7 @@ class LdapAccount extends LdapDomain {
}
}
public function update($name=NULL,$password=NULL,$active=NULL,$admin=NULL,$accountactive=NULL,$courieractive=NULL,$webmailactive=NULL,$authsmtpactive=NULL,$amavisBypassSpamChecks=NULL) {
public function update($name=NULL,$password=NULL,$active=NULL,$admin=NULL,$accountactive=NULL,$courieractive=NULL,$webmailactive=NULL,$authsmtpactive=NULL,$mailaccept=array(),$maildrop=array()) {
$info["cn"] = (!empty($name)) ? $name : $this->name;
if (!empty($password)) {
$info["userPassword"] = LdapServer::hashPassword($password);
@ -49,6 +49,8 @@ class LdapAccount extends LdapDomain {
$info["webmailActive"] = ($webmailactive) ? 'TRUE' : 'FALSE';
$info["authsmtpActive"] = ($authsmtpactive) ? 'TRUE' : 'FALSE';
#$info["amavisBypassSpamChecks"] = ($amavisBypassSpamChecks) ? 'TRUE' : 'FALSE';
$info["mailacceptinggeneralid"] = array_filter($mailaccept, function($value) { return $value != ""; });
$info["maildrop"] = array_filter($maildrop, function($value) { return $value != ""; });
if (!ldap_mod_replace($this->conn, self::getBaseDN($this), $info)) {
$error = ldap_error($this->conn);
throw new Exception("Erreur pendant la modification du compte : $error");