Browse Source

Fix bug when updating aliases :

- array index for LDAP need to be in lowercase
- we need also array_filter() for mailacceptinggeneralid... especially to avoid null values
- array numeric indexes for LDAP attributes need to be consecutive, then we need order with array_values()
master 1.0.6
Gregory Colpart 2 years ago
parent
commit
308619b694
  1. 10
      htdocs/lib/LdapAlias.php

10
htdocs/lib/LdapAlias.php

@ -28,11 +28,13 @@ class LdapAlias extends LdapDomain {
}
public function update($active=false,$mailaccept=array(),$maildrop=array()) {
$info["isActive"] = ($active) ? 'TRUE' : 'FALSE';
$info["mailacceptinggeneralid"] = $mailaccept;
$info["maildrop"] = array_filter($maildrop, function($value) {
$info["isactive"] = ($active) ? 'TRUE' : 'FALSE';
$info["mailacceptinggeneralid"] = array_values(array_filter($mailaccept, function($value) {
return filter_var($value, FILTER_VALIDATE_EMAIL);
});
}));
$info["maildrop"] = array_values(array_filter($maildrop, function($value) {
return filter_var($value, FILTER_VALIDATE_EMAIL);
}));
if (!@ldap_mod_replace($this->conn, self::getBaseDN($this), $info)) {
$error = ldap_error($this->conn);

Loading…
Cancel
Save