|
|
@@ -169,19 +169,14 @@ class Manager { |
|
|
|
* @return string[] |
|
|
|
*/ |
|
|
|
public function getAttributes($minimal = false) { |
|
|
|
$attributes = array_merge(Access::UUID_ATTRIBUTES, ['dn', 'uid', 'samaccountname', 'memberof']); |
|
|
|
$possible = array( |
|
|
|
$baseAttributes = array_merge(Access::UUID_ATTRIBUTES, ['dn', 'uid', 'samaccountname', 'memberof']); |
|
|
|
$attributes = [ |
|
|
|
$this->access->getConnection()->ldapExpertUUIDUserAttr, |
|
|
|
$this->access->getConnection()->ldapQuotaAttribute, |
|
|
|
$this->access->getConnection()->ldapEmailAttribute, |
|
|
|
$this->access->getConnection()->ldapUserDisplayName, |
|
|
|
$this->access->getConnection()->ldapUserDisplayName2, |
|
|
|
); |
|
|
|
foreach($possible as $attr) { |
|
|
|
if(!is_null($attr)) { |
|
|
|
$attributes[] = $attr; |
|
|
|
} |
|
|
|
} |
|
|
|
]; |
|
|
|
|
|
|
|
$homeRule = $this->access->getConnection()->homeFolderNamingRule; |
|
|
|
if(strpos($homeRule, 'attr:') === 0) { |
|
|
@@ -197,11 +192,16 @@ class Manager { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
// remove possible empty attributes |
|
|
|
$attributes = array_values( |
|
|
|
array_filter($attributes, function ($attributeName) { |
|
|
|
return !empty($attributeName); |
|
|
|
}) |
|
|
|
$attributes = array_reduce($attributes, |
|
|
|
function($list, $attribute) { |
|
|
|
$attribute = strtolower(trim((string)$attribute)); |
|
|
|
if(!empty($attribute) && !in_array($attribute, $list)) { |
|
|
|
$list[] = $attribute; |
|
|
|
} |
|
|
|
|
|
|
|
return $list; |
|
|
|
}, |
|
|
|
$baseAttributes // hard-coded, lower-case, non-empty attributes |
|
|
|
); |
|
|
|
|
|
|
|
return $attributes; |