diff --git a/lam/HISTORY b/lam/HISTORY index d0a4daf5..85e4e456 100644 --- a/lam/HISTORY +++ b/lam/HISTORY @@ -7,6 +7,7 @@ June 2015 - Lamdaemon: update group of home directory if user's primary group changes - Personal: allow to add ou=addressbook subentry for users (RFE 117) - Unix: support auto-UID/GID with msSFU30DomainInfo + - Windows groups: support editing of member of - LAM Pro: -> Password Self Reset: added 389 Directory Server schema file -> Support for groupOfMembers (RFE 121) diff --git a/lam/lib/modules/windowsGroup.inc b/lam/lib/modules/windowsGroup.inc index fbc4828c..b54985bb 100644 --- a/lam/lib/modules/windowsGroup.inc +++ b/lam/lib/modules/windowsGroup.inc @@ -264,6 +264,7 @@ class windowsGroup extends baseModule { 'description' => _('Description'), 'info' => _('Notes'), 'member' => _('Members'), + 'memberOf' => _('Member of'), 'groupType' => _('Group type'), 'groupScope' => _('Group scope'), ); @@ -907,7 +908,7 @@ class windowsGroup extends baseModule { $this->addPDFKeyValue($return, 'managedBy', _('Managed by'), $managedBy); } // members - if (sizeof($this->attributes['member']) > 0) { + if (!empty($this->attributes['member'])) { $memberList = array(); if (isset($this->attributes['member']) && is_array($this->attributes['member'])) { $memberList = $this->attributes['member']; @@ -918,6 +919,18 @@ class windowsGroup extends baseModule { $return[get_class($this) . '_member'][] = '' . $memberList[$i] . ''; } } + // member of + if (!empty($this->attributes['memberOf'])) { + $memberOfList = array(); + if (isset($this->attributes['memberOf']) && is_array($this->attributes['memberOf'])) { + $memberOfList = $this->attributes['memberOf']; + } + usort($memberOfList, 'compareDN'); + $return[get_class($this) . '_memberOf'][0] = '' . _('Member of') . '' . $memberOfList[0] . ''; + for ($i = 1; $i < sizeof($memberOfList); $i++) { + $return[get_class($this) . '_memberOf'][] = '' . $memberOfList[$i] . ''; + } + } return $return; }