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)

---
 plugins/virtuser_query/virtuser_query.php |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/plugins/virtuser_query/virtuser_query.php b/plugins/virtuser_query/virtuser_query.php
index 803c270..0264bf8 100644
--- a/plugins/virtuser_query/virtuser_query.php
+++ b/plugins/virtuser_query/virtuser_query.php
@@ -7,7 +7,9 @@
  * SQL query to resolve user names and e-mail addresses from the database
  * %u will be replaced with the current username for login.
  * The query should select the user's e-mail address as first column
- * and optional identity name as second column
+ * and optional identity data columns in specified order:
+ *    name, organization, reply-to, bcc, signature, html_signature
+ *
  * $rcmail_config['virtuser_query'] = '';
  *
  * @version 1.0
@@ -40,12 +42,27 @@
 
 	while ($sql_arr = $dbh->fetch_array($sql_result)) {
 	    if (strpos($sql_arr[0], '@')) {
-		$result[] = ($p['extended'] && count($sql_arr) > 1) ? $sql_arr : $sql_arr[0];
+		if ($p['extended'] && count($sql_arr) > 1) {
+		    $result[] = array(
+			'email' 	=> $sql_arr[0],
+			'name' 		=> $sql_arr[1],
+			'organization'  => $sql_arr[2],
+			'reply-to' 	=> $sql_arr[3],
+			'bcc' 		=> $sql_arr[4],
+			'signature' 	=> $sql_arr[5],
+			'html_signature' => (int)$sql_arr[6],
+    		    );
+		}
+		else {
+		    $result[] = $sql_arr[0];
+		}
 
 		if ($p['first'])
-		    return $result[0];
+		    break;
 	    }
 	}
+	
+	$p['email'] = $result;
 
 	return $p;
     }

--
Gitblit v1.9.1