From b3bab1dc4f19a1627d9014b0420a471122fd9465 Mon Sep 17 00:00:00 2001 From: hickert Date: Tue, 26 Jan 2010 13:19:55 +0000 Subject: [PATCH] Updated posix git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@15319 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../personal/posix/class_posixAccount.inc | 6 ++++ .../groupSelect/class_filterLDAPBlacklist.inc | 31 +++++++++++++++++++ .../posix/groupSelect/group-filter.xml | 4 +-- .../posix/trustSelect/trust-filter.xml | 4 +-- 4 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc diff --git a/gosa-core/plugins/personal/posix/class_posixAccount.inc b/gosa-core/plugins/personal/posix/class_posixAccount.inc index bef6a4264..2bd4f5fac 100644 --- a/gosa-core/plugins/personal/posix/class_posixAccount.inc +++ b/gosa-core/plugins/personal/posix/class_posixAccount.inc @@ -402,11 +402,17 @@ class posixAccount extends plugin /* Show ws dialog */ if ($this->trustSelect){ + + // Build up blocklist + session::set('filterBlacklist', array('cn' => array_values($this->accessTo))); return($this->trustSelect->execute()); } /* Manage group add dialog */ if ($this->groupSelect){ + + // Build up blocklist + session::set('filterBlacklist', array('dn' => array_keys($this->groupMembership))); return($this->groupSelect->execute()); } diff --git a/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc b/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc new file mode 100644 index 000000000..b78f2b287 --- /dev/null +++ b/gosa-core/plugins/personal/posix/groupSelect/class_filterLDAPBlacklist.inc @@ -0,0 +1,31 @@ + $attr_values){ + foreach($attr_values as $match){ + foreach($entries as $id => $entry){ + if(isset($entry[$attr_name])){ + $test = $entry[$attr_name]; + if(!is_array($test)) $test = array($test); + if(in_array($match, $test)) unset($entries[$id]); + } + } + } + } + } + return(array_values($entries)); + } +} + +?> diff --git a/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml b/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml index 00d28e4b5..5a43637b3 100644 --- a/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml +++ b/gosa-core/plugins/personal/posix/groupSelect/group-filter.xml @@ -9,7 +9,7 @@ - LDAP + LDAPBlacklist (&(objectClass=posixGroup)$NAME(|$PRIMARY$MAIL$SAMBA)) dn objectClass @@ -53,7 +53,7 @@ (|(cn=*$*)(description=*$*)) true - LDAP + LDAPBlacklist (&(objectClass=posixGroup)(|(cn=*$NAME*)(description=*$NAME*))) cn 0.5 diff --git a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml index c0b355564..10ea5d554 100644 --- a/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml +++ b/gosa-core/plugins/personal/posix/trustSelect/trust-filter.xml @@ -9,7 +9,7 @@ - LDAP + LDAPBlacklist (&(|$SERVER $WORKSTATION $TERMINAL)$NAME) dn objectClass @@ -29,7 +29,7 @@ (cn=*$*) false - SYSTEMS + LDAPBlacklist (cn=*$NAME*) cn 0.5 -- 2.30.2