From f209717e418cdf54511fab1a6d3a19b528d0c416 Mon Sep 17 00:00:00 2001 From: alecpl Date: Sun, 14 Mar 2010 13:02:29 +0000 Subject: - virtuser_query: support other identity data (#1486148) --- program/include/rcube_user.php | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'program') diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php index 63ffa63ec..835ffe955 100644 --- a/program/include/rcube_user.php +++ b/program/include/rcube_user.php @@ -359,7 +359,7 @@ class rcube_user // try to resolve user in virtuser table and file if ($email_list = self::user2email($user, false, true)) { - $user_email = is_array($email_list[0]) ? $email_list[0][0] : $email_list[0]; + $user_email = is_array($email_list[0]) ? $email_list[0]['email'] : $email_list[0]; } $data = $rcmail->plugins->exec_hook('create_user', @@ -407,24 +407,23 @@ class rcube_user // create new identities records $standard = 1; foreach ($email_list as $row) { + $record = array(); + if (is_array($row)) { - $email = $row[0]; - $name = $row[1] ? $row[1] : $user_name; + $record = $row; } else { - $email = $row; - $name = $user_name; + $record['email'] = $row; } - $plugin = $rcmail->plugins->exec_hook('create_identity', array( - 'login' => true, - 'record' => array( - 'user_id' => $user_id, - 'name' => strip_newlines($name), - 'email' => $email, - 'standard' => $standard, - ), - )); + if (empty($record['name'])) + $record['name'] = $user_name; + $record['name'] = strip_newlines($record['name']); + $record['user_id'] = $user_id; + $record['standard'] = $standard; + + $plugin = $rcmail->plugins->exec_hook('create_identity', + array('login' => true, 'record' => $record)); if (!$plugin['abort'] && $plugin['record']['email']) { $rcmail->user->insert_identity($plugin['record']); -- cgit v1.2.3