diff options
author | blizzz <blizzz@owncloud.com> | 2014-06-02 12:02:15 +0200 |
---|---|---|
committer | blizzz <blizzz@owncloud.com> | 2014-06-02 12:02:15 +0200 |
commit | 58b6b89ec48e01cf19faadbff74cbd34ffb07248 (patch) | |
tree | e76b4b533a96853e32688301963077f8227ce5a2 /apps | |
parent | 8758b66fc467cf01d4db10c8851c9652828bd9af (diff) | |
parent | 37ef48d9f4f8a4188a1bfd55dd3f86e618047b41 (diff) | |
download | nextcloud-server-58b6b89ec48e01cf19faadbff74cbd34ffb07248.tar.gz nextcloud-server-58b6b89ec48e01cf19faadbff74cbd34ffb07248.zip |
Merge pull request #8579 from owncloud/ldap_nail_filter_on_upgrade
LDAP: fix filter can be reset and broken after upgrade from OC 5
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_ldap/appinfo/update.php | 42 | ||||
-rw-r--r-- | apps/user_ldap/appinfo/version | 2 |
2 files changed, 31 insertions, 13 deletions
diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 41770cf97b1..1e706ce869b 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -7,21 +7,39 @@ if($state === 'unset') { OCP\Config::setSystemValue('ldapIgnoreNamingRules', false); } +$installedVersion = OCP\Config::getAppValue('user_ldap', 'installed_version'); +$enableRawMode = version_compare($installedVersion, '0.4.1', '<'); + $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); + \OCP\Config::setAppValue('user_ldap', $config.'ldap_login_filter_mode', 1); + \OCP\Config::setAppValue('user_ldap', $config.'ldap_group_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 |