From 9b29b3e7644f6cb45798e081ac3be62235b6f7ed Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Wed, 31 Jul 2013 19:21:31 +0000 Subject: [PATCH] show group members --- lam/lib/modules/posixGroup.inc | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/lam/lib/modules/posixGroup.inc b/lam/lib/modules/posixGroup.inc index f72efec7..e5fc68bb 100644 --- a/lam/lib/modules/posixGroup.inc +++ b/lam/lib/modules/posixGroup.inc @@ -197,10 +197,6 @@ class posixGroup extends baseModule implements passwordService { if ($this->manageDescriptionAttribute) { $return->addElement(new htmlTableExtendedInputField(_('Description'), 'description', $description, 'description'), true); } - // group members - $return->addElement(new htmlOutputText(_("Group members"))); - $return->addElement(new htmlAccountPageButton(get_class($this), 'user', 'open', _('Edit members'))); - $return->addElement(new htmlHelpLink('members'), true); // password buttons if (checkIfWriteAccessIsAllowed() && isset($this->attributes['userPassword'][0])) { $return->addElement(new htmlOutputText(_('Password'))); @@ -216,8 +212,29 @@ class posixGroup extends baseModule implements passwordService { $return->addElement($pwdContainer, true); } if (isset($this->orig['gidNumber'][0]) && $this->attributes['gidNumber'][0]!=$this->orig['gidNumber'][0]) { - $return->addElement(new htmlTableExtendedInputCheckbox('changegids', $this->changegids, _('Change GID number of users and hosts'), 'changegids')); + $return->addElement(new htmlTableExtendedInputCheckbox('changegids', $this->changegids, _('Change GID number of users and hosts'), 'changegids'), true); } + // group members + $return->addElement(new htmlOutputText(_("Group members"))); + $return->addElement(new htmlAccountPageButton(get_class($this), 'user', 'open', _('Edit members'))); + $return->addElement(new htmlHelpLink('members'), true); + $return->addElement(new htmlOutputText('')); + $users = $this->getUsers(); + $members = array(); + if (isset($this->attributes['memberUid'][0])) { + foreach ($this->attributes['memberUid'] as $uid) { + if (isset($users[$uid]) && isset($users[$uid]['cn'])) { + $members[] = $uid . ' (' . $users[$uid]['cn'] . ')'; + } + else { + $members[] = $uid; + } + } + } + $members = array_unique($members); + natcasesort($members); + $members = array_map('htmlspecialchars', $members); + $return->addElement(new htmlOutputText(implode('
', $members), false), true); return $return; }