From 52036fcbe61a27617df4d2f06c63fe801322c0da Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Wed, 9 Jan 2013 20:11:14 +0000 Subject: [PATCH] delete group of names memberships --- lam/lib/modules/posixAccount.inc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lam/lib/modules/posixAccount.inc b/lam/lib/modules/posixAccount.inc index 5fd10411..33658f8e 100644 --- a/lam/lib/modules/posixAccount.inc +++ b/lam/lib/modules/posixAccount.inc @@ -710,6 +710,22 @@ class posixAccount extends baseModule implements passwordService { for ($i = 0; $i < sizeof($groups); $i++) { $return[$groups[$i]['dn']]['remove']['memberUid'][] = $this->attributes['uid'][0]; } + // remove from group of names + $dn = $this->getAccountContainer()->dn_orig; + $gonTypes = array('group'); + $types = $_SESSION['config']->get_ActiveTypes(); + if (in_array('gon', $types)) { + $gonTypes[] = 'gon'; + } + $gons = searchLDAPByFilter('(|(member=' . $dn . ')(uniqueMember=' . $dn . '))', array('member', 'uniqueMember'), $gonTypes); + for ($i = 0; $i < sizeof($gons); $i++) { + if (isset($gons[$i]['member'])) { + $return[$gons[$i]['dn']]['remove']['member'][] = $dn; + } + elseif (isset($gons[$i]['uniquemember'])) { + $return[$gons[$i]['dn']]['remove']['uniqueMember'][] = $dn; + } + } return $return; }