From 739589f4853fa1c7caab15150fa8d4a98fe94663 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 11 Jun 2012 16:26:21 +0200 Subject: [PATCH 1/3] make sure that contact data are always utf8 encoded to avoid encoding problems --- apps/contacts/import.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/contacts/import.php b/apps/contacts/import.php index 0ee35f9fd81..232de8233a9 100644 --- a/apps/contacts/import.php +++ b/apps/contacts/import.php @@ -63,13 +63,13 @@ foreach($lines as $line){ if(strtoupper(trim($line)) == 'BEGIN:VCARD'){ $inelement = true; } elseif (strtoupper(trim($line)) == 'END:VCARD') { - $card[] = $line; + $card[] = iconv(mb_detect_encoding($line, 'UTF-8, ISO-8859-1'), 'utf-8', $line); $parts[] = implode($nl, $card); $card = array(); $inelement = false; } if ($inelement === true && trim($line) != '') { - $card[] = $line; + $card[] = iconv(mb_detect_encoding($line, 'UTF-8, ISO-8859-1'), 'utf-8', $line); } } //import the contacts From fcc9a5c8d4f0388ea8cf12cbaaac0038f6e29458 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 11 Jun 2012 16:48:43 +0200 Subject: [PATCH 2/3] LDAP: offer config option for Group Display Name attribute --- apps/user_ldap/settings.php | 3 ++- apps/user_ldap/templates/settings.php | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php index f1a474ff27d..0c29e70b5ab 100644 --- a/apps/user_ldap/settings.php +++ b/apps/user_ldap/settings.php @@ -20,7 +20,7 @@ * License along with this library. If not, see . * */ -$params = array('ldap_host', 'ldap_port', 'ldap_dn', 'ldap_agent_password', 'ldap_base', 'ldap_base_users', 'ldap_base_groups', 'ldap_userlist_filter', 'ldap_login_filter', 'ldap_group_filter', 'ldap_display_name', 'ldap_tls', 'ldap_nocase', 'ldap_quota_def', 'ldap_quota_attr', 'ldap_email_attr', 'ldap_group_member_assoc_attribute'); +$params = array('ldap_host', 'ldap_port', 'ldap_dn', 'ldap_agent_password', 'ldap_base', 'ldap_base_users', 'ldap_base_groups', 'ldap_userlist_filter', 'ldap_login_filter', 'ldap_group_filter', 'ldap_display_name', 'ldap_group_display_name', 'ldap_tls', 'ldap_nocase', 'ldap_quota_def', 'ldap_quota_attr', 'ldap_email_attr', 'ldap_group_member_assoc_attribute'); OCP\Util::addscript('user_ldap', 'settings'); @@ -54,6 +54,7 @@ foreach($params as $param){ // settings with default values $tmpl->assign( 'ldap_port', OCP\Config::getAppValue('user_ldap', 'ldap_port', '389')); $tmpl->assign( 'ldap_display_name', OCP\Config::getAppValue('user_ldap', 'ldap_display_name', 'uid')); +$tmpl->assign( 'ldap_group_display_name', OCP\Config::getAppValue('user_ldap', 'ldap_group_display_name', 'cn')); $tmpl->assign( 'ldap_group_member_assoc_attribute', OCP\Config::getAppValue('user_ldap', 'ldap_group_member_assoc_attribute', 'uniqueMember')); $tmpl->assign( 'ldap_agent_password', base64_decode(OCP\Config::getAppValue('user_ldap', 'ldap_agent_password'))); diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php index 3462f2473f4..31f453b5a5a 100644 --- a/apps/user_ldap/templates/settings.php +++ b/apps/user_ldap/templates/settings.php @@ -22,6 +22,7 @@

>

t('Currently the display name field needs to be the same you matched %%uid against in the filter above, because ownCloud doesn\'t distinguish between user id and user name.');?>

+

bytes

From 1d493a70e7fd967bce3cdf1a31ebe3ba1942c48f Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 11 Jun 2012 18:13:12 +0200 Subject: [PATCH 3/3] replace "=0D=0A" (\r\n) with a simple "\n" in vards during import --- apps/contacts/import.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/contacts/import.php b/apps/contacts/import.php index 232de8233a9..9d5504563fd 100644 --- a/apps/contacts/import.php +++ b/apps/contacts/import.php @@ -63,13 +63,13 @@ foreach($lines as $line){ if(strtoupper(trim($line)) == 'BEGIN:VCARD'){ $inelement = true; } elseif (strtoupper(trim($line)) == 'END:VCARD') { - $card[] = iconv(mb_detect_encoding($line, 'UTF-8, ISO-8859-1'), 'utf-8', $line); + $card[] = str_replace('=0D=0A', '\n', iconv(mb_detect_encoding($line, 'UTF-8, ISO-8859-1'), 'utf-8', $line)); $parts[] = implode($nl, $card); $card = array(); $inelement = false; } if ($inelement === true && trim($line) != '') { - $card[] = iconv(mb_detect_encoding($line, 'UTF-8, ISO-8859-1'), 'utf-8', $line); + $card[] = str_replace('=0D=0A', '\n', iconv(mb_detect_encoding($line, 'UTF-8, ISO-8859-1'), 'utf-8', $line)); } } //import the contacts