diff --git a/README.md b/README.md index e35fafc..7fe61ba 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/htdocs/lib/FormController.php b/htdocs/lib/FormController.php index 94b3f10..a78ae96 100644 --- a/htdocs/lib/FormController.php +++ b/htdocs/lib/FormController.php @@ -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) { diff --git a/htdocs/lib/LdapAccount.php b/htdocs/lib/LdapAccount.php index ffddba6..7f1de42 100644 --- a/htdocs/lib/LdapAccount.php +++ b/htdocs/lib/LdapAccount.php @@ -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");