steffen: server/kolab-webadmin/kolab-webadmin/php/admin/include ldap.class.php, 1.19, 1.20

cvs at intevation.de cvs at intevation.de
Sat Jan 8 04:25:30 CET 2005


Author: steffen

Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include
In directory doto:/tmp/cvs-serv16431/kolab-webadmin/php/admin/include

Modified Files:
	ldap.class.php 
Log Message:
deal with shared folder deletion (Issue588)

Index: ldap.class.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include/ldap.class.php,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- ldap.class.php	16 Dec 2004 21:03:29 -0000	1.19
+++ ldap.class.php	8 Jan 2005 03:25:28 -0000	1.20
@@ -336,6 +336,15 @@
   // Set deleflag on object, or if $delete_now is
   // true, just delete it
   function deleteObject( $dn, $delete_now = false ) {
+	return $this->_doDeleteObject( $dn, $delete_now, true );
+  }
+
+  function deleteSharedFolder( $dn, $delete_now = false ) {
+	return $this->_doDeleteObject( $dn, $delete_now, false );
+  }
+
+  // Private
+  function _doDeleteObject( $dn, $delete_now = false, $nuke_password = false ) {
 	if( $delete_now ) {
 	  if( !ldap_delete( $this->connection, $dn ) ) {
 		return false;
@@ -347,10 +356,11 @@
 	  $delete_template = array();
 	  $delete_template['kolabDeleteflag'] = $kolab_obj['kolabHost'];	  
 	  unset($delete_template['kolabDeleteflag']['count']);
-	  // Write random garbage into passwd field to lock the user out
-	  $delete_template['userPassword'] = '{sha}'.base64_encode( pack('H*', 
-																	 sha1( str_rand( 32 ) )));
-	  
+	  if( $nuke_password ) {
+		// Write random garbage into passwd field to lock the user out
+		$delete_template['userPassword'] = '{sha}'.base64_encode( pack('H*', 
+																	   sha1( str_rand( 32 ) )));
+	  }
 	  if( !ldap_modify($this->connection,$dn,$delete_template) ) {
 		return false;
 	  }





More information about the commits mailing list