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