diff options
author | Arthur Schiwon <blizzz@owncloud.com> | 2012-05-17 19:33:38 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@owncloud.com> | 2012-05-18 12:55:37 +0200 |
commit | 253f101b392bdc65c0ca9fb7ab1ddf217300ec4c (patch) | |
tree | c57e428ef277d248ac06a0ce6ba1aa11a794716b /apps/user_ldap/appinfo | |
parent | 73a72054a3e08b62e4f28c9c622f98b4737efeff (diff) | |
download | nextcloud-server-253f101b392bdc65c0ca9fb7ab1ddf217300ec4c.tar.gz nextcloud-server-253f101b392bdc65c0ca9fb7ab1ddf217300ec4c.zip |
LDAP: check wether applying naming rule would end up in conflicts on update, if so don't do it
Diffstat (limited to 'apps/user_ldap/appinfo')
-rw-r--r-- | apps/user_ldap/appinfo/app.php | 6 | ||||
-rw-r--r-- | apps/user_ldap/appinfo/update.php | 24 |
2 files changed, 24 insertions, 6 deletions
diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php index 79675f940bc..330574c1d42 100644 --- a/apps/user_ldap/appinfo/app.php +++ b/apps/user_ldap/appinfo/app.php @@ -27,12 +27,6 @@ require_once('apps/user_ldap/group_ldap.php'); OCP\App::registerAdmin('user_ldap','settings'); -// define LDAP_DEFAULT_PORT -define('OC_USER_BACKEND_LDAP_DEFAULT_PORT', 389); - -// define OC_USER_BACKEND_LDAP_DEFAULT_DISPLAY_NAME -define('OC_USER_BACKEND_LDAP_DEFAULT_DISPLAY_NAME', 'uid'); - // register user backend OC_User::useBackend( 'LDAP' ); OC_Group::useBackend( new OC_GROUP_LDAP() ); diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 07afeeea8a1..048d804217b 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -1,9 +1,33 @@ <?php //from version 0.1 to 0.2 + +//settings $pw = OCP\Config::getAppValue('user_ldap', 'ldap_password'); if(!is_null($pw)) { $pwEnc = base64_encode($pw); OCP\Config::setAppValue('user_ldap', 'ldap_agent_password', $pwEnc); OC_Appconfig::deleteKey('user_ldap', 'ldap_password'); +} + +//detect if we can switch on naming guidelines. We won't do it on conflicts. +//it's a bit spaghetti, but hey. +$sqlCleanMap = 'DELETE FROM *PREFIX*ldap_user_mapping'; + +require_once(OC::$APPSROOT.'/apps/user_ldap/lib_ldap.php'); +require_once(OC::$APPSROOT.'/apps/user_ldap/user_ldap.php'); + +OCP\Config::setSystemValue('ldapIgnoreNamingRules', true); +$LDAP_USER = new OC_USER_LDAP(); +$users_old = $LDAP_USER->getUsers(); +$query = OCP\DB::prepare($sqlCleanMap); +$query->execute(); +OCP\Config::setSystemValue('ldapIgnoreNamingRules', false); +OC_LDAP::init(true); +$users_new = $LDAP_USER->getUsers(); +$query = OCP\DB::prepare($sqlCleanMap); +$query->execute(); +if($users_old !== $users_new) { + //we don't need to check Groups, because they were not supported in 3' + OCP\Config::setSystemValue('ldapIgnoreNamingRules', true); }
\ No newline at end of file |