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"'));?>

+ title="t('Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: "uid=%%uid"'));?>" />

-
t('without any placeholder, e.g. "objectClass=person".'));?>

+ title="t('Defines the filter to apply, when retrieving users (no placeholders). Example: "objectClass=person"'));?>" />

-
t('without any placeholder, e.g. "objectClass=posixGroup".'));?>

+ title="t('Defines the filter to apply, when retrieving groups (no placeholders). Example: "objectClass=posixGroup"'));?>" />

@@ -75,7 +72,7 @@

>

-


t('Not recommended, use for testing only.'));?>

+


t('Directory Settings'));?>