Port LDAP: fix filter can be reset and broken after upgrade from OC 5 #8579

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

get the correct version number for compare -.-

bump version and don't overwrite values on next update if not necessary

simpler and better readable assignment
This commit is contained in:
Arthur Schiwon 2014-05-13 17:47:00 +02:00
parent f931df2dac
commit f0e69b2b99
2 changed files with 31 additions and 13 deletions

View File

@ -7,21 +7,39 @@ if($state === 'unset') {
OCP\Config::setSystemValue('ldapIgnoreNamingRules', false); 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); $configPrefixes = OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes(true);
$ldap = new OCA\user_ldap\lib\LDAP(); $ldap = new OCA\user_ldap\lib\LDAP();
foreach($configPrefixes as $config) { foreach($configPrefixes as $config) {
$connection = new OCA\user_ldap\lib\Connection($ldap, $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', $state = \OCP\Config::getAppValue(
$config.'ldap_expert_uuid_attr', 'auto'); 'user_ldap', $config.'ldap_uuid_user_attribute', 'not existing');
\OCP\Config::setAppValue('user_ldap', if($state === 'non existing') {
$config.'ldap_expert_uuid_user_attr', $value); $value = \OCP\Config::getAppValue(
\OCP\Config::setAppValue('user_ldap', 'user_ldap', $config.'ldap_uuid_attribute', 'auto');
$config.'ldap_expert_uuid_group_attr', $value); \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);
}
} }

View File

@ -1 +1 @@
0.4.1 0.4.2