summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/appinfo
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2012-05-17 19:33:38 +0200
committerArthur Schiwon <blizzz@owncloud.com>2012-05-18 12:55:37 +0200
commit253f101b392bdc65c0ca9fb7ab1ddf217300ec4c (patch)
treec57e428ef277d248ac06a0ce6ba1aa11a794716b /apps/user_ldap/appinfo
parent73a72054a3e08b62e4f28c9c622f98b4737efeff (diff)
downloadnextcloud-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.php6
-rw-r--r--apps/user_ldap/appinfo/update.php24
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