steffen: server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder index.php, 1.5, 1.6 sf.php, 1.9, 1.10

cvs at intevation.de cvs at intevation.de
Fri Aug 13 03:04:19 CEST 2004


Author: steffen

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

Modified Files:
	index.php sf.php 
Log Message:
*sigh* mixed case ldap attribute names are broken in php -- ldap_get_entries() returns them in all lowercase and ldap_get_attributes() returns them in mixed case!

Index: index.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder/index.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- index.php	12 Aug 2004 10:55:39 -0000	1.5
+++ index.php	13 Aug 2004 01:04:16 -0000	1.6
@@ -1,6 +1,6 @@
 <?php
 /*
- (c) 2004 Klarlvdalens Datakonsult AB
+ (c) 2004 Klarälvdalens Datakonsult AB
  (c) 2003 Tassilo Erlewein <tassilo.erlewein at erfrakon.de>
  (c) 2003 Martin Konold <martin.konold at erfrakon.de>
  This program is Free Software under the GNU General Public License (>=v2).
@@ -31,7 +31,7 @@
 if( !$errors ) {
   if (isset($_SESSION['base_dn'])) $base_dn = $_SESSION['base_dn'];
   else $base_dn = 'k=kolab';
-  $filter = "(&(cn=*)(objectclass=kolabsharedfolder))";
+  $filter = "(&(cn=*)(objectclass=kolabSharedFolder))";
   $result = ldap_search($ldap->connection, $base_dn, $filter);
   if( $result ) {
 	$count = ldap_count_entries($ldap->connection, $result);
@@ -43,8 +43,8 @@
 	  $attrs = ldap_get_attributes($ldap->connection, $entry);
 	  $dn = ldap_get_dn($ldap->connection,$entry);
 	  $cn = $attrs['cn'][0];
-	  $deleted = array_key_exists('kolabdeleteflag',$attrs)?$attrs['kolabdeleteflag'][0]:"FALSE";
-	  $kolabhomeserver = $attrs['kolabhomeserver'][0];
+	  $deleted = array_key_exists('kolabDeleteflag',$attrs)?$attrs['kolabDeleteflag'][0]:"FALSE";
+	  $kolabhomeserver = $attrs['kolabHomeServer'][0];
 	  $entries[] = array( 'dn' => $dn,
 						  'cn' => $cn,
 						  'kolabhomeserver' => $kolabhomeserver,

Index: sf.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder/sf.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- sf.php	12 Aug 2004 10:55:39 -0000	1.9
+++ sf.php	13 Aug 2004 01:04:16 -0000	1.10
@@ -33,7 +33,7 @@
   else $userquota = $ldap_object['cyrus-userquota'];
   $form->entries['cyrus-userquota']['value'] = $userquota;
 
-  if (is_array($ldap_object['kolabhomeserver'])) $kolabhomeserver = $ldap_object['kolabhomeserver'][0];
+  if (is_array($ldap_object['kolabHomeServer'])) $kolabhomeserver = $ldap_object['kolabHomeServer'][0];
   $form->entries['kolabhomeserver']['value'] = $kolabhomeserver;
 
   $form->entries['action']['value'] = 'save';
@@ -69,7 +69,7 @@
 	// Special users allowed
 	return "$uid $perm";
   }
-  $res = $ldap->search( $_SESSION['base_dn'], '(&(uid='.$ldap->escape($uid).')(objectClass=kolabinetorgperson))', 
+  $res = $ldap->search( $_SESSION['base_dn'], '(&(uid='.$ldap->escape($uid).')(objectClass=kolabInetOrgPerson))', 
 						array('dn') );
   if( $ldap->count($res) == 1 ) {
 	// Ok, we have a regular user
@@ -80,7 +80,7 @@
   $regs = array();
   if( ereg('(.*)@(.*)', $uid, $regs ) ) {
 	$cn = $regs[1];
-	$res = $ldap->search( $_SESSION['base_dn'], '(&(cn='.$ldap->escape($cn).')(objectClass=kolabgroupofnames))', 
+	$res = $ldap->search( $_SESSION['base_dn'], '(&(cn='.$ldap->escape($cn).')(objectClass=kolabGroupOfNames))', 
 						  array('dn') );
 	if( $ldap->count($res) == 1 ) {
 	  $objects = $ldap->getEntries();
@@ -155,7 +155,7 @@
 		$content = $form->outputForm();
 	  } else {
 		$sf_root = $_SESSION['base_dn'];   
-		$ldap_object = array('objectClass' => 'kolabsharedfolder');
+		$ldap_object = array('objectClass' => 'kolabSharedFolder');
 		$cn = trim($_POST['cn']);
 		$ldap_object['cn'] = $cn;
 		foreach ( array( 'cyrus-userquota') as $attr) {
@@ -212,7 +212,7 @@
 		} else {
 		  if (!$errors) {
 			$dn = "cn=".$ldap_object['cn'].",".$sf_root;
-			$ldap_object['kolabhomeserver'] = trim($_POST['kolabhomeserver']);
+			$ldap_object['kolabHomeServer'] = trim($_POST['kolabhomeserver']);
 			if ($dn && !ldap_add($ldap->connection, $dn, $ldap_object)) 
 			  array_push($errors, _("LDAP Error: could not add object $dn: ")
 						 .ldap_error($ldap->connection));
@@ -229,52 +229,41 @@
 		$form->entries['cn']['attrs'] = 'readonly';
 		$form->entries['kolabhomeserver']['attrs'] = 'readonly';
 		$heading = _('Modify Shared Folder');
-		$result = $ldap->search( $dn, '(objectClass=kolabsharedfolder)' );
-		if( $result ) {
-		  $ldap_object = ldap_get_entries( $ldap->connection, $result );
-		  if( $ldap_object['count'] == 1 ) {
-			$ldap_object = $ldap_object[0];
-			fill_form_for_modify( $form, $ldap_object );
-		  }
-		  $ldap->freeSearchResult();
+		$ldap_object = $ldap->read( $dn );
+		if( $ldap_object ) {
+		  fill_form_for_modify( $form, $ldap_object );
 		}
 		$content = $form->outputForm();		
 	  }
 	}
 	break;
   case 'modify':
-	$result = $ldap->search( $dn, '(objectClass=kolabsharedfolder)' );
-	if( $result ) {
-	  $ldap_object = ldap_get_entries( $ldap->connection, $result );
-	  if( $ldap_object['count'] == 1 ) {
-		fill_form_for_modify( $form, $ldap_object[0] );
-		$form->entries['action']['value'] = 'save';
-		$form->entries['dn'] = array( 'type' => 'hidden', 'value' => $dn );
-		$form->entries['cn']['attrs'] = 'readonly';
-		$form->entries['kolabhomeserver']['attrs'] = 'readonly';
-		$heading = _('Modify Shared Folder');
-		$content = $form->outputForm();
-	  } else {
-		array_push($errors, _("Error: Multiple results returned for DN $dn"));
-	  }
+	$ldap_object = $ldap->read( $dn );
+	if( $ldap_object ) {
+	  fill_form_for_modify( $form, $ldap_object );
+	  $form->entries['action']['value'] = 'save';
+	  $form->entries['dn'] = array( 'type' => 'hidden', 'value' => $dn );
+	  $form->entries['cn']['attrs'] = 'readonly';
+	  $form->entries['kolabhomeserver']['attrs'] = 'readonly';
+	  $heading = _('Modify Shared Folder');
+	  $content = $form->outputForm();
+	} else {
+	  array_push($errors, _("Error: No results returned for DN $dn"));
 	}
 	break;
   case 'delete':
-	$result = $ldap->search( $dn, '(objectClass=kolabsharedfolder)' );
-	if( $result ) {
-	  $ldap_object = ldap_get_entries( $ldap->connection, $result );
-	  if( $ldap_object['count'] == 1 ) {
-		fill_form_for_modify( $form, $ldap_object[0] );
-		$form->entries['action']['value'] = 'kill';
-		foreach( $form->entries as $key => $val ) {
-		  $form->entries[$key]['attrs'] = 'readonly';
-		}
-		$form->submittext = _('Delete');
-		$heading = _('Delete Shared Folder');
-		$content = $form->outputForm();
-	  } else {
-		array_push($errors, _("Error: Multiple results returned for DN $dn"));
+	$ldap_object = $ldap->read( $dn );
+	if( $ldap_object ) {
+	  fill_form_for_modify( $form, $ldap_object );
+	  $form->entries['action']['value'] = 'kill';
+	  foreach( $form->entries as $key => $val ) {
+		$form->entries[$key]['attrs'] = 'readonly';
 	  }
+	  $form->submittext = _('Delete');
+	  $heading = _('Delete Shared Folder');
+	  $content = $form->outputForm();
+	} else {
+	  array_push($errors, _("Error: No results returned for DN $dn"));
 	}
 	break;
   case 'kill':
@@ -284,7 +273,7 @@
 		$heading = _('Entry Deleted');
 		$contenttemplate = 'sfdeleted.tpl';
 	  } else {
-		array_push($errors, _("LDAP Error: could mark $dn for deletion: ").ldap_error($link));		
+		array_push($errors, _("LDAP Error: Could not mark $dn for deletion: ").ldap_error($link));		
 	  }
 	}
 	break;





More information about the commits mailing list