From f209717e418cdf54511fab1a6d3a19b528d0c416 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sun, 14 Mar 2010 09:02:29 -0400
Subject: [PATCH] - virtuser_query: support other identity data (#1486148)

---
 program/include/rcube_user.php |   27 +++++++++++++--------------
 1 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php
index 63ffa63..835ffe9 100644
--- a/program/include/rcube_user.php
+++ b/program/include/rcube_user.php
@@ -359,7 +359,7 @@
 
     // 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 @@
       // 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']);

--
Gitblit v1.9.1