From 540de577de25338d727bddf85537e1679dd49eb5 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 18 Oct 2012 08:24:04 -0400
Subject: [PATCH] Skip redundant SELECT on new user creation

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

diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php
index 5a65a51..b92187a 100644
--- a/program/include/rcube_user.php
+++ b/program/include/rcube_user.php
@@ -449,6 +449,7 @@
             'user_name'  => $user_name,
             'user_email' => $user_email,
             'email_list' => $email_list,
+            'language'   =>  $_SESSION['language'],
         ));
 
         // plugin aborted this operation
@@ -462,13 +463,17 @@
             " VALUES (".$dbh->now().", ".$dbh->now().", ?, ?, ?)",
             strip_newlines($data['user']),
             strip_newlines($data['host']),
-            strip_newlines($data['language'] ? $data['language'] : $_SESSION['language']));
+            strip_newlines($data['language']));
 
         if ($user_id = $dbh->insert_id('users')) {
             // create rcube_user instance to make plugin hooks work
-            $user_instance = new rcube_user($user_id);
-            $rcube->user   = $user_instance;
-
+            $user_instance = new rcube_user($user_id, array(
+                'user_id'   => $user_id,
+                'username'  => $data['user'],
+                'mail_host' => $data['host'],
+                'language'  => $data['language'],
+            ));
+            $rcube->user = $user_instance;
             $mail_domain = $rcube->config->mail_domain($data['host']);
             $user_name   = $data['user_name'];
             $user_email  = $data['user_email'];

--
Gitblit v1.9.1