diff --git a/apps/user_ldap/css/settings.css b/apps/user_ldap/css/settings.css
index 185952e14bb..4e0ee31c7c4 100644
--- a/apps/user_ldap/css/settings.css
+++ b/apps/user_ldap/css/settings.css
@@ -3,14 +3,20 @@
max-width: 200px;
display: inline-block;
vertical-align: top;
+ text-align: right;
padding-top: 9px;
+ padding-right: 5px;
}
#ldap fieldset input, #ldap fieldset textarea {
- width: 70%;
+ width: 60%;
display: inline-block;
}
+#ldap fieldset p input[type=checkbox] {
+ vertical-align: bottom;
+}
+
.ldapIndent {
margin-left: 50px;
}
diff --git a/apps/user_ldap/js/settings.js b/apps/user_ldap/js/settings.js
index 52d5dbc48d9..b86aac6da67 100644
--- a/apps/user_ldap/js/settings.js
+++ b/apps/user_ldap/js/settings.js
@@ -176,6 +176,13 @@ $(document).ready(function() {
$('#ldap_submit').effect('highlight', {'color':'#A8FA87'}, 5000, function() {
$('#ldap_submit').css('background', bgcolor);
});
+ //update the Label in the config chooser
+ caption = $('#ldap_serverconfig_chooser option:selected:first').text();
+ pretext = '. Server: ';
+ caption = caption.slice(0, caption.indexOf(pretext) + pretext.length);
+ caption = caption + $('#ldap_host').val();
+ $('#ldap_serverconfig_chooser option:selected:first').text(caption);
+
} else {
$('#ldap_submit').css('background', '#fff');
$('#ldap_submit').effect('highlight', {'color':'#E97'}, 5000, function() {
diff --git a/apps/user_ldap/lib/helper.php b/apps/user_ldap/lib/helper.php
index f65f466789f..4c9dd07a12c 100644
--- a/apps/user_ldap/lib/helper.php
+++ b/apps/user_ldap/lib/helper.php
@@ -70,6 +70,34 @@ class Helper {
return $prefixes;
}
+ /**
+ *
+ * @brief determines the host for every configured connection
+ * @return an array with configprefix as keys
+ *
+ */
+ static public function getServerConfigurationHosts() {
+ $referenceConfigkey = 'ldap_host';
+
+ $query = '
+ SELECT DISTINCT `configkey`, `configvalue`
+ FROM `*PREFIX*appconfig`
+ WHERE `appid` = \'user_ldap\'
+ AND `configkey` LIKE ?
+ ';
+ $query = \OCP\DB::prepare($query);
+ $configHosts = $query->execute(array('%'.$referenceConfigkey))->fetchAll();
+ $result = array();
+
+ foreach($configHosts as $configHost) {
+ $len = strlen($configHost['configkey']) - strlen($referenceConfigkey);
+ $prefix = substr($configHost['configkey'], 0, $len);
+ $result[$prefix] = $configHost['configvalue'];
+ }
+
+ return $result;
+ }
+
/**
* @brief deletes a given saved LDAP/AD server configuration.
* @param string the configuration prefix of the config to delete
diff --git a/apps/user_ldap/settings.php b/apps/user_ldap/settings.php
index 22e2dac6d26..7169192a18e 100644
--- a/apps/user_ldap/settings.php
+++ b/apps/user_ldap/settings.php
@@ -44,7 +44,9 @@ OCP\Util::addstyle('user_ldap', 'settings');
$tmpl = new OCP\Template('user_ldap', 'settings');
$prefixes = \OCA\user_ldap\lib\Helper::getServerConfigurationPrefixes();
+$hosts = \OCA\user_ldap\lib\Helper::getServerConfigurationHosts();
$tmpl->assign('serverConfigurationPrefixes', $prefixes);
+$tmpl->assign('serverConfigurationHosts', $hosts);
// assign default values
if(!isset($ldap)) {
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index 95aa592594b..e214d57fb1d 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -24,7 +24,7 @@
$sel = ' selected';
foreach($_['serverConfigurationPrefixes'] as $prefix) {
?>
-
+
-
t('use %%uid placeholder, e.g. "uid=%%uid"'));?>
-
t('without any placeholder, e.g. "objectClass=person".'));?>
-
t('without any placeholder, e.g. "objectClass=posixGroup".'));?>