|
|
@@ -211,8 +211,21 @@ class UserStorageMacOSX extends UserStorageBase {
|
|
|
$ldap = $this->_getAdminLdap();
|
|
|
if ($ldap) {
|
|
|
$attr = array();
|
|
|
- $attr['mail'] = $val;
|
|
|
- $ldap->mod_replace($userName, $attr);
|
|
|
+ $emailEx = (false !== strpos($val, ' '))? explode(' ', $val) : array($val);
|
|
|
+ $emailAliasList = array();
|
|
|
+ foreach ($emailEx as $emailAlias) {
|
|
|
+ $emailAlias = trim($emailAlias);
|
|
|
+ if (!empty($emailAlias) && filter_var($emailAlias, FILTER_VALIDATE_EMAIL)) {
|
|
|
+ $emailAliasList[] = $emailAlias;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!empty($emailAliasList)) {
|
|
|
+ $attr['mail'] = $emailAliasList;
|
|
|
+ $ldap->mod_replace($userName, $attr);
|
|
|
+ } else {
|
|
|
+ $attr['mail'] = '';
|
|
|
+ $ldap->mod_del($userName, $attr);
|
|
|
+ }
|
|
|
}
|
|
|
break;
|
|
|
case 'name':
|