steffen: server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder sf.php, 1.16, 1.17

cvs at intevation.de cvs at intevation.de
Thu Feb 10 15:41:49 CET 2005


Author: steffen

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

Modified Files:
	sf.php 
Log Message:
Issue646 (shared folder name encoding)

Index: sf.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/sharedfolder/sf.php,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- sf.php	3 Feb 2005 14:25:57 -0000	1.16
+++ sf.php	10 Feb 2005 14:41:47 -0000	1.17
@@ -158,9 +158,22 @@
 	  } else {
 		$sf_root = $_SESSION['base_dn'];   
 		$ldap_object = array('objectClass' => 'kolabSharedFolder');
+		// OK, we need to get the name down to lowercase ascii only
+		// we handle a few common cases here
 		// Really cheesy, but strtolower is latin1 only :-(
-		$cn = utf8_encode(strtolower(utf8_decode(trim($_POST['cn']))));
-		$ldap_object['cn'] = $cn;
+		$cn = trim($_POST['cn']);
+		debug("cn=$cn");
+		$cn = strtolower(utf8_decode($cn));
+		debug("cn=$cn");
+		$cn = str_replace( utf8_decode('æ'), 'ae', $cn );
+		$cn = str_replace( utf8_decode('ø'), 'oe', $cn );
+		$cn = str_replace( utf8_decode('Ã¥'), 'aa', $cn );
+		$cn = str_replace( utf8_decode('ä'), 'ae', $cn );
+		$cn = str_replace( utf8_decode('ö'), 'oe', $cn );
+		$cn = str_replace( utf8_decode('ü'), 'y',  $cn );
+		$cn = str_replace( utf8_decode('ß'), 'ss', $cn );
+		debug("cn=$cn");
+		$ldap_object['cn'] = utf8_encode($cn);
 		foreach ( array( 'cyrus-userquota') as $attr) {
 		  $count = 0;
 		  $key = $attr;





More information about the commits mailing list