From 333c48caf7b7e166d744a747c90ad2837c17c082 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 23 Feb 2010 13:31:23 -0500
Subject: [PATCH] - Squirrelmail_usercopy: support reply-to field (#1486506) - Use rcube_user::insert_identity() instead of custom SQL query in rcube_user::create()

---
 CHANGELOG                                               |    1 +
 program/include/rcube_user.php                          |   13 +++----------
 plugins/squirrelmail_usercopy/squirrelmail_usercopy.php |   13 ++++++++-----
 3 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 34c3e76..14fc172 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG RoundCube Webmail
 ===========================
 
+- Squirrelmail_usercopy: support reply-to field (#1486506)
 - Fix IE spellcheck suggestion popup issue (#1486471)
 - Fix email address auto-completion shows regexp pattern (#1486258)
 - Fix merging of configuration parameters: user prefs always survive (#1486368) 
diff --git a/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php b/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php
index aff2f49..634f837 100644
--- a/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php
+++ b/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php
@@ -5,7 +5,7 @@
  *
  * Currently only file-based data storage of Squirrelmail is supported.
  *
- * @version 1.0
+ * @version 1.1
  * @author Thomas Bruederli
  */
 class squirrelmail_usercopy extends rcube_plugin
@@ -33,17 +33,20 @@
 
 	public function create_identity($p)
 	{
+		$rcmail = rcmail::get_instance();
+
 		// only execute on login
-		if ($p['login'] && $this->prefs) {
+		if ($rcmail->task == 'login' && $this->prefs) {
 			if ($this->prefs['full_name'])
 				$p['record']['name'] = $this->prefs['full_name'];
 			if ($this->prefs['email_address'])
 				$p['record']['email'] = $this->prefs['email_address'];
 			if ($this->prefs['signature'])
 				$p['record']['signature'] = $this->prefs['signature'];
-		
+                        if ($this->prefs['reply-to']) 
+                                $p['record']['reply-to'] = $this->prefs['reply-to']; 		
+
 			// copy address book
-			$rcmail = rcmail::get_instance();
 			$contacts = $rcmail->get_address_book(null, true);
 			if ($contacts && count($this->abook)) {
 				foreach ($this->abook as $rec)
@@ -93,4 +96,4 @@
 
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php
index a5294f5..127efa7 100644
--- a/program/include/rcube_user.php
+++ b/program/include/rcube_user.php
@@ -215,6 +215,8 @@
     if (!$this->ID)
       return false;
 
+    unset($data['user_id']);
+
     $insert_cols = $insert_values = array();
     foreach ((array)$data as $col => $value)
     {
@@ -422,20 +424,11 @@
             'name' => strip_newlines($name),
             'email' => $email,
             'standard' => $standard,
-            'signature' => '',
           ),
         ));
           
         if (!$plugin['abort'] && $plugin['record']['email']) {
-          $dbh->query(
-              "INSERT INTO ".get_table_name('identities')."
-                (user_id, del, standard, name, email, signature)
-               VALUES (?, 0, ?, ?, ?, ?)",
-              $user_id,
-              $plugin['record']['standard'],
-              $plugin['record']['name'] != NULL ? $plugin['record']['name'] : '',
-              $plugin['record']['email'],
-              $plugin['record']['signature']);
+          $rcmail->user->insert_identity($plugin['record']);
         }
         $standard = 0;
       }

--
Gitblit v1.9.1