From 68434510bd8cea6ff3ebb03a7e366844aed1e743 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Tue, 13 May 2014 17:47:00 +0200 Subject: [PATCH 1/4] LDAP: set filter mode to raw, so filters will not be changed and broken after upgrade from oc5, when visiting the LDAP settings and opening filter tabs --- apps/user_ldap/appinfo/update.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 41770cf97b1..073e8be7fe8 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -7,6 +7,12 @@ if($state === 'unset') { OCP\Config::setSystemValue('ldapIgnoreNamingRules', false); } +$installedVersion = OCP\Config::getAppValue('files_sharing', 'installed_version'); +$enableRawMode = false; +if (version_compare($installedVersion, '0.4.1', '<')) { + $enableRawMode = true; +} + $configPrefixes = OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes(true); $ldap = new OCA\user_ldap\lib\LDAP(); foreach($configPrefixes as $config) { @@ -24,4 +30,10 @@ foreach($configPrefixes as $config) { $config.'ldap_expert_uuid_user_attr', $value); \OCP\Config::setAppValue('user_ldap', $config.'ldap_expert_uuid_group_attr', $value); + + if($enableRawMode) { + \OCP\Config::setAppValue('user_ldap', $config.'ldap_user_filter_mode', 1); + \OCP\Config::setAppValue('user_ldap', $config.'ldap_login_filter_mode', 1); + \OCP\Config::setAppValue('user_ldap', $config.'ldap_group_filter_mode', 1); + } } From c18f2943d523f7be5bb76100ebe8e5741aa932e7 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 14 May 2014 12:01:41 +0200 Subject: [PATCH 2/4] get the correct version number for compare -.- --- apps/user_ldap/appinfo/update.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 073e8be7fe8..8bf532fe3a3 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -7,7 +7,7 @@ if($state === 'unset') { OCP\Config::setSystemValue('ldapIgnoreNamingRules', false); } -$installedVersion = OCP\Config::getAppValue('files_sharing', 'installed_version'); +$installedVersion = OCP\Config::getAppValue('user_ldap', 'installed_version'); $enableRawMode = false; if (version_compare($installedVersion, '0.4.1', '<')) { $enableRawMode = true; From 313324a7b459b59aefaca4fe1b648489971cdad2 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 14 May 2014 13:27:23 +0200 Subject: [PATCH 3/4] bump version and don't overwrite values on next update if not necessary --- apps/user_ldap/appinfo/update.php | 33 ++++++++++++++++++++----------- apps/user_ldap/appinfo/version | 2 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 8bf532fe3a3..47cc566b360 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -17,19 +17,28 @@ $configPrefixes = OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes(true) $ldap = new OCA\user_ldap\lib\LDAP(); foreach($configPrefixes as $config) { $connection = new OCA\user_ldap\lib\Connection($ldap, $config); - $value = \OCP\Config::getAppValue('user_ldap', - $config.'ldap_uuid_attribute', 'auto'); - \OCP\Config::setAppValue('user_ldap', - $config.'ldap_uuid_user_attribute', $value); - \OCP\Config::setAppValue('user_ldap', - $config.'ldap_uuid_group_attribute', $value); - $value = \OCP\Config::getAppValue('user_ldap', - $config.'ldap_expert_uuid_attr', 'auto'); - \OCP\Config::setAppValue('user_ldap', - $config.'ldap_expert_uuid_user_attr', $value); - \OCP\Config::setAppValue('user_ldap', - $config.'ldap_expert_uuid_group_attr', $value); + $state = \OCP\Config::getAppValue( + 'user_ldap', $config.'ldap_uuid_user_attribute', 'not existing'); + if($state === 'non existing') { + $value = \OCP\Config::getAppValue( + 'user_ldap', $config.'ldap_uuid_attribute', 'auto'); + \OCP\Config::setAppValue( + 'user_ldap', $config.'ldap_uuid_user_attribute', $value); + \OCP\Config::setAppValue( + 'user_ldap', $config.'ldap_uuid_group_attribute', $value); + } + + $state = \OCP\Config::getAppValue( + 'user_ldap', $config.'ldap_expert_uuid_user_attr', 'not existing'); + if($state === 'non existing') { + $value = \OCP\Config::getAppValue( + 'user_ldap', $config.'ldap_expert_uuid_attr', 'auto'); + \OCP\Config::setAppValue( + 'user_ldap', $config.'ldap_expert_uuid_user_attr', $value); + \OCP\Config::setAppValue( + 'user_ldap', $config.'ldap_expert_uuid_group_attr', $value); + } if($enableRawMode) { \OCP\Config::setAppValue('user_ldap', $config.'ldap_user_filter_mode', 1); diff --git a/apps/user_ldap/appinfo/version b/apps/user_ldap/appinfo/version index 44bb5d1f743..2b7c5ae0184 100644 --- a/apps/user_ldap/appinfo/version +++ b/apps/user_ldap/appinfo/version @@ -1 +1 @@ -0.4.1 \ No newline at end of file +0.4.2 From 37ef48d9f4f8a4188a1bfd55dd3f86e618047b41 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 28 May 2014 17:24:04 +0200 Subject: [PATCH 4/4] simpler and better readable assignment --- apps/user_ldap/appinfo/update.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 47cc566b360..1e706ce869b 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -8,10 +8,7 @@ if($state === 'unset') { } $installedVersion = OCP\Config::getAppValue('user_ldap', 'installed_version'); -$enableRawMode = false; -if (version_compare($installedVersion, '0.4.1', '<')) { - $enableRawMode = true; -} +$enableRawMode = version_compare($installedVersion, '0.4.1', '<'); $configPrefixes = OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes(true); $ldap = new OCA\user_ldap\lib\LDAP();