steffen: server/kolab-webadmin/kolab-webadmin/www/admin/user user.php, 1.66, 1.67

cvs at intevation.de cvs at intevation.de
Sat Sep 17 17:01:25 CEST 2005


Author: steffen

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

Modified Files:
	user.php 
Log Message:
Something for Issue848 (dist list problem when deleting users)

Index: user.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/user.php,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- user.php	29 Aug 2005 21:28:28 -0000	1.66
+++ user.php	17 Sep 2005 15:01:23 -0000	1.67
@@ -760,12 +760,21 @@
    // Check for distribution lists with only this user as member
    $ldap->search( $_SESSION['base_dn'], 
 				  '(&(objectClass=kolabGroupOfNames)(member='.$ldap->escape($dn).'))',
-				  array( 'dn', 'cn', 'member' ) );
+				  array( 'dn', 'cn', 'mail', 'member' ) );
    $distlists = $ldap->getEntries();
+   unset($distlists['count']);
    foreach( $distlists as $distlist ) {
+	 $dlmail = $distlist['mail'][0];
+	 if( $dlmail ) $dlmail = $distlist['cn'][0]; # Compatibility with old stuff
 	 if( $distlist['member']['count'] == 1 ) {
-	   $dlcn = $distlist['cn'][0];
-	   $errors[] = _("Account could not be deleted, distribution list '$dlcn' depends on it.");
+	   $errors[] = _("Account could not be deleted, distribution list '$dlmail' depends on it.");
+	 } else {
+	   if( ldap_mod_del( $ldap->connection, $distlist['dn'], array('member' => $dn ) ) ) {
+		 $messages[] = _("Account removed from distribution list '$dlmail'.");
+	   } else {
+		 $errors[] = _("Failure to remove account from distribution list '$dlmail', account will not be deleted.");
+		 break;
+	   }
 	 }
    }
 





More information about the commits mailing list