thomas: server/kolab-webadmin/kolab-webadmin/www/admin/distributionlist index.php.in, 1.2, 1.3

cvs at kolab.org cvs at kolab.org
Wed Feb 28 18:58:52 CET 2007


Author: thomas

Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/distributionlist
In directory doto:/tmp/cvs-serv1854/kolab-webadmin/kolab-webadmin/www/admin/distributionlist

Modified Files:
	index.php.in 
Log Message:
Fix kolab/issue1630 (Domain maintainer can see distribution lists from other domains)
(Patch from Tim Gerundt <gerundt at montanhydraulik.com>)


Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/distributionlist/index.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- index.php.in	12 Jun 2006 18:52:51 -0000	1.2
+++ index.php.in	28 Feb 2007 17:58:50 -0000	1.3
@@ -46,7 +46,17 @@
 if( !$errors ) {
   if (isset($_SESSION['base_dn'])) $base_dn = $_SESSION['base_dn'];
   else $base_dn = 'k=kolab';
-  $filter = "(&(!(cn=domains))(objectclass=kolabGroupOfNames))";
+  $domains = $ldap->domainsForMaintainerDn($auth->dn());
+  if( is_array($domains) ) {
+  	$domainfilter='';
+  	foreach( $domains as $dom ) {
+  	  $domainfilter .= '(cn=*@'.$ldap->escape($dom).')';
+  	}
+  	if( $domainfilter ) $domainfilter = "(|$domainfilter)";
+  } else {
+  	$domainfilter= "";
+  }
+  $filter = "(&(!(cn=domains))$domainfilter(objectclass=kolabGroupOfNames))";
   $result = ldap_search($ldap->connection, $base_dn, $filter);
   if( $result ) {
 	$count = ldap_count_entries($ldap->connection, $result);





More information about the commits mailing list