]> source.dussan.org Git - nextcloud-server.git/commitdiff
LDAP: only check once for name conflicts on update. Set a value on install as well
authorArthur Schiwon <blizzz@owncloud.com>
Fri, 18 May 2012 15:38:22 +0000 (17:38 +0200)
committerArthur Schiwon <blizzz@owncloud.com>
Fri, 18 May 2012 16:00:30 +0000 (18:00 +0200)
apps/user_ldap/appinfo/install.php [new file with mode: 0644]
apps/user_ldap/appinfo/update.php

diff --git a/apps/user_ldap/appinfo/install.php b/apps/user_ldap/appinfo/install.php
new file mode 100644 (file)
index 0000000..9efc3bb
--- /dev/null
@@ -0,0 +1,6 @@
+<?php
+
+$state = OCP\Config::getSystemValue('ldapIgnoreNamingRules', 'doSet');
+if($state == 'doSet'){
+       OCP\Config::setSystemValue('ldapIgnoreNamingRules', false);
+}
index 048d804217bcf52158658ffca6f99b59fec2a909..b3f7a397db960b6c43bb901e13608f387b8e5a6a 100644 (file)
@@ -12,22 +12,25 @@ if(!is_null($pw)) {
 
 //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';
+$state = OCP\Config::getSystemValue('ldapIgnoreNamingRules', 'doCheck');
+if($state == 'doCheck'){
+       $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');
+       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);
+       $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