steffen: server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder index.php.in, 1.2, 1.3 sf.php.in, 1.4, 1.5

cvs at kolab.org cvs at kolab.org
Tue Jul 11 18:02:26 CEST 2006


Author: steffen

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

Modified Files:
	index.php.in sf.php.in 
Log Message:
Patch from wrobel + foldertype fixes etc.

Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder/index.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- index.php.in	21 Apr 2006 10:41:38 -0000	1.2
+++ index.php.in	11 Jul 2006 16:02:24 -0000	1.3
@@ -34,6 +34,7 @@
 }
 
 // Get all entries & dynamically split the letters with growing entries
+$entries = array();
 if( !$errors ) {
   if (isset($_SESSION['base_dn'])) $base_dn = $_SESSION['base_dn'];
   else $base_dn = 'k=kolab';
@@ -60,9 +61,10 @@
 	  $deleted = array_key_exists('kolabDeleteflag',$attrs)?$attrs['kolabDeleteflag'][0]:"FALSE";
 	  $kolabhomeserver = $attrs['kolabHomeServer'][0];
 	  
-          $folderTypeMap = array ( '' => _('None'), 'mail' => _('Mails'), 'task' => _('Tasks'), 'journal' => _('Journals'),
-		                   'event' => _('Events'), 'contact' => _('Contacts'), 'note' => _('Notes'));
-	  $folderType = $folderTypeMap[$attrs['folderType'][0]];
+	  $folderTypeMap = array ( '' => _('Unspecified'), 'mail' => _('Mails'), 'task' => _('Tasks'), 'journal' => _('Journals'),
+							   'event' => _('Events'), 'contact' => _('Contacts'), 'note' => _('Notes'));
+	  if( in_array('kolabFolderType',$attrs) ) $folderType = $folderTypeMap[$attrs['kolabFolderType'][0]];
+	  else $folderType = $folderTypeMap[''];
 
 	  $entries[] = array( 'dn' => $dn,
 						  'cn' => $cn,

Index: sf.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder/sf.php.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- sf.php.in	10 Jun 2006 18:46:58 -0000	1.4
+++ sf.php.in	11 Jul 2006 16:02:24 -0000	1.5
@@ -32,18 +32,21 @@
   else $cn = $ldap_object['cn'];
   $form->entries['cn']['value'] = $cn;
 
-  if (is_array($ldap_object['cyrus-userquota'])) $userquota = $ldap_object['cyrus-userquota'][0];
-  else $userquota = $ldap_object['cyrus-userquota'];
+  if( in_array('cyrus-userquota',$ldap_object)) {
+	if (is_array($ldap_object['cyrus-userquota'])) $userquota = $ldap_object['cyrus-userquota'][0];
+	else $userquota = $ldap_object['cyrus-userquota'];
+  } else $userquota = "";
   $form->entries['cyrus-userquota']['value'] = $userquota;
 
   if (is_array($ldap_object['kolabHomeServer'])) $kolabhomeserver = $ldap_object['kolabHomeServer'][0];
   $form->entries['kolabhomeserver']['value'] = $kolabhomeserver;
 
-  if (is_array($ldap_object['kolabFolderType']))
-	$form->entries['foldertype']['value'] = $ldap_object['kolabFolderType'][0];
-  else
-  	$form->entries['foldertype']['value'] = '';
-
+  if( in_array('kolabFolderType',$ldap_object)) {
+	if (is_array($ldap_object['kolabFolderType']))
+	  $form->entries['foldertype']['value'] = $ldap_object['kolabFolderType'][0];
+	else
+	  $form->entries['foldertype']['value'] = '';
+  } else $form->entries['foldertype']['value'] = '';
   $form->entries['action']['value'] = 'save';
   //debug("got userquota=$userquota<br/>cn=$cn<br/>");
   $aclcount = 0;
@@ -87,21 +90,12 @@
 	return "$mail $perm";
   }
   
-  $regs = array();
-  if( ereg('(.*)@(.*)', $uid, $regs ) ) {
-	$cn = $regs[1];
-	$res = $ldap->search( $_SESSION['base_dn'], '(&(cn='.$ldap->escape($cn).')(objectClass=kolabGroupOfNames))', 
-						  array('dn') );
-	if( $ldap->count($res) == 1 ) {
-	  $objects = $ldap->getEntries();
-	  $dcs = array_filter( split(',', $objects[0]['dn']), create_function( '$str', 'return !strncmp( "dc=", $str, 3 );') );
-	  $dcs = array_map( create_function( '$str', 'return substr($str,3);'), $dcs );
-	  $domain = join( '.', $dcs );
-	  if( $domain == $regs[2] ) {
-		// All OK, we have a group
-		return "group:$uid $perm";
-	  }
-	}
+  $res = $ldap->search( $_SESSION['base_dn'], '(&(cn='.$ldap->escape($uid).')(objectClass=kolabGroupOfNames))',
+						array('dn') );
+  if( $ldap->count($res) == 1 ) {
+	// Ok, we have a group
+	$ldap->freeSearchResult();
+	return "group:$uid $perm";
   }
   $errors[] = sprintf(_("No UID or GID %s"), $uid);
   return false;
@@ -236,10 +230,10 @@
 			  } else array_push($errors, sprintf(_("LDAP Error: could not read %s: %s"), $dn,
 												ldap_error($ldap->connection)));
 			} else {
-			  if (!ldap_modify($ldap->connection, $dn, $ldap_object))
+			  if (!ldap_modify($ldap->connection, $dn, $ldap_object)) {
 				array_push($errors, sprintf(_("LDAP Error: could not modify object %s: %s"), $dn,
 											ldap_error($ldap->connection)));
-			  else $messages[] = _('Shared folder updated');
+			  } else $messages[] = _('Shared folder updated');
 			}
 		  } 
 		} else {






More information about the commits mailing list