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()
tags/1.0.6
Gregory Colpart 6 months ago
parent
commit
308619b694
1 changed files with 6 additions and 4 deletions
  1. +6
    -4
      htdocs/lib/LdapAlias.php

+ 6
- 4
htdocs/lib/LdapAlias.php View File

@@ -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