From 96949fc9dd5c50818a8f8bda75a9beb731ac91ae Mon Sep 17 00:00:00 2001
From: Arthur Schiwon <blizzz@owncloud.com>
Date: Thu, 24 Jan 2013 12:42:28 +0100
Subject: [PATCH] LDAP: consolidate config prefix determination, autofill combo
 box in settings

---
 apps/user_ldap/appinfo/app.php        | 20 +++++---------------
 apps/user_ldap/settings.php           | 11 ++++++++++-
 apps/user_ldap/templates/settings.php |  1 -
 3 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php
index 69860ba143..79cfab5879 100644
--- a/apps/user_ldap/appinfo/app.php
+++ b/apps/user_ldap/appinfo/app.php
@@ -23,26 +23,16 @@
 
 OCP\App::registerAdmin('user_ldap', 'settings');
 
-$query = \OCP\DB::prepare('
-	SELECT DISTINCT `configkey`
-	FROM `*PREFIX*appconfig`
-	WHERE `configkey` LIKE ?
-');
-$serverConnections = $query->execute(array('%ldap_login_filter'))->fetchAll();
-if(count($serverConnections) == 1) {
-	$prefix = substr($serverConnections[0]['configkey'], 0, strlen($serverConnections[0]['configkey'])- strlen('ldap_login_filter'));
-	$connector = new OCA\user_ldap\lib\Connection($prefix);
+$configPrefixes = OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes();
+if(count($configPrefixes) == 1) {
+	$connector = new OCA\user_ldap\lib\Connection($configPrefixes[0]);
 	$userBackend  = new OCA\user_ldap\USER_LDAP();
 	$userBackend->setConnector($connector);
 	$groupBackend = new OCA\user_ldap\GROUP_LDAP();
 	$groupBackend->setConnector($connector);
 } else {
-	$prefixes = array();
-	foreach($serverConnections as $serverConnection) {
-		$prefixes[] = substr($serverConnection['configkey'], 0, strlen($serverConnection['configkey'])- strlen('ldap_login_filter'));
-	}
-	$userBackend  = new OCA\user_ldap\User_Proxy($prefixes);
-	$groupBackend  = new OCA\user_ldap\Group_Proxy($prefixes);
+	$userBackend  = new OCA\user_ldap\User_Proxy($configPrefixes);
+	$groupBackend  = new OCA\user_ldap\Group_Proxy($configPrefixes);
 }
 
 // register user backend
diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php
index f3f0826739..57d370601c 100644
--- a/apps/user_ldap/settings.php
+++ b/apps/user_ldap/settings.php
@@ -86,7 +86,16 @@ $tmpl->assign('ldap_cache_ttl', OCP\Config::getAppValue('user_ldap', 'ldap_cache
 $hfnr = OCP\Config::getAppValue('user_ldap', 'home_folder_naming_rule', 'opt:username');
 $hfnr = ($hfnr == 'opt:username') ? '' : substr($hfnr, strlen('attr:'));
 $tmpl->assign('home_folder_naming_rule', $hfnr, '');
-$tmpl->assign('serverConfigurationOptions', '', false);
+
+$prefixes = \OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes();
+$scoHtml = '';
+$i = 1;
+$sel = ' selected';
+foreach($prefixes as $prefix) {
+	$scoHtml .= '<option value="'.$prefix.'"'.$sel.'>'.$i++.'. Server</option>';
+	$sel = '';
+}
+$tmpl->assign('serverConfigurationOptions', $scoHtml, false);
 
 // assign default values
 if(!isset($ldap)) {
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index 6b95f8660e..20297c02d3 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -13,7 +13,6 @@
 		?>
 	<fieldset id="ldapSettings-1">
 		<p><label for="ldap_serverconfig_chooser"><?php echo $l->t('Server configuration');?></label><select id="ldap_serverconfig_chooser" name="ldap_serverconfig_chooser">
-		<option value="" selected><?php echo $l->t('Default (1. Server)');?></option>
 		<?php echo $_['serverConfigurationOptions']; ?>
 		<option value="NEW"><?php echo $l->t('Add Server Configuration');?></option>
 		</select></p>
-- 
GitLab