summaryrefslogtreecommitdiff
path: root/plugins/new_user_identity/new_user_identity.php
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-08-13 10:05:22 +0200
committerAleksander Machniak <alec@alec.pl>2012-08-13 10:05:22 +0200
commitd97118f8eff58660294370eb515a1970a5d0c8b6 (patch)
tree25d5b4b790205784771668ebbaca32524f951f19 /plugins/new_user_identity/new_user_identity.php
parenta7b32b61e685d32f8f101a854b6a3ba38d329677 (diff)
Fix handling of LDAP values - support arrays (#1488604)
Diffstat (limited to 'plugins/new_user_identity/new_user_identity.php')
-rw-r--r--plugins/new_user_identity/new_user_identity.php14
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/new_user_identity/new_user_identity.php b/plugins/new_user_identity/new_user_identity.php
index f3dae20a3..200d9accd 100644
--- a/plugins/new_user_identity/new_user_identity.php
+++ b/plugins/new_user_identity/new_user_identity.php
@@ -36,11 +36,14 @@ class new_user_identity extends rcube_plugin
$rcmail = rcmail::get_instance();
if ($this->init_ldap($args['host'])) {
- $results = $this->ldap->search('*', $args['user'], TRUE);
+ $results = $this->ldap->search('*', $args['user'], true);
if (count($results->records) == 1) {
- $args['user_name'] = $results->records[0]['name'];
- if (!$args['user_email'] && strpos($results->records[0]['email'], '@')) {
- $args['user_email'] = rcube_idn_to_ascii($results->records[0]['email']);
+ $user_name = is_array($results->records[0]['name']) ? $results->records[0]['name'][0] : $results->records[0]['name'];
+ $user_email = is_array($results->records[0]['email']) ? $results->records[0]['email'][0] : $results->records[0]['email'];
+
+ $args['user_name'] = $user_name;
+ if (!$args['user_email'] && strpos($user_email, '@')) {
+ $args['user_email'] = rcube_idn_to_ascii($user_email);
}
}
}
@@ -49,8 +52,9 @@ class new_user_identity extends rcube_plugin
private function init_ldap($host)
{
- if ($this->ldap)
+ if ($this->ldap) {
return $this->ldap->ready;
+ }
$rcmail = rcmail::get_instance();